2013-10-24 30 views
9

Birisi bana SQL kullanarak tablo tanımlarımı nasıl alabilirim? Tüm tablolarımın ve diğer bilgilerinin veri türlerini Oracle şemadan çıkarmak istiyorum. Yaklaşık 100 masam var.SQL veya Toad kullanarak tablo tanımlarını nasıl ayıklamak

Oracle Schema'nın tam belgelerine ihtiyacım var. Şema adı "cco".

Bunu SQL ile yapabilir miyim?

Veri analisti için Toad kullanıyorum 3.3. Bu araç yardımcı olursa lütfen bana bildirin. Bu aynı zamanda bir select * fazla bilgi almak için yapabilirim sadece bir örnektir USER_TAB_COLUMNS

sorgu örnek

select 
table_name, 
column_name, 
data_type, 
data_length, 
data_precision, 
nullable 
from USER_TAB_COLUMNS 
where table_name = '<table_name>'; 

altına bul:

+0

Eğer veri türünü görüntülemek için veri analisti için kurbağa kullanabilirsiniz tüm tablolar. Nesne Gezgini'nden yapabilir, tablo adının üzerine çift tıklayın ve sekme sütunundaki yeni pencerede gerekli bilgileri bulabilirsiniz. – Shann

+0

100 + tablom var. Şimdi tüm tablo bilgileri için belgelemek amacıyla – santhosha

+0

@santosha tablolarını datatypes almak için sorgu gönderdim. – Shann

cevap

5

Deneyebilirsin bu -

select * from all_tab_cols 
where owner = 'CCO'; 
3

Tabloyu kullanabilirsiniz.

ayrıca tabloyu kullanabilirsiniz

: Daha iyi bir görüntü için all_tab_columns

kullanabilirsiniz:

select table_name,column_name, data_type|| 
case 
when data_precision is not null and nvl(data_scale,0)>0 then '('||data_precision||','||data_scale||')' 
when data_precision is not null and nvl(data_scale,0)=0 then '('||data_precision||')' 
when data_precision is null and data_scale is not null then '(*,'||data_scale||')' 
when char_length>0 then '('||char_length|| case char_used 
                 when 'B' then ' Byte' 
                 when 'C' then ' Char' 
                 else null 
              end||')' 
end||decode(nullable, 'N', ' NOT NULL') as data_type 
from user_tab_columns 
where table_name = '<TABLE_NAME>'; 
+0

Belgenize sonucu yapıştırabileceğiniz bir parça sql ekledim. – Shann

6

tüm tablolar için DDL almak için Geçerli kullanıcının, bunu kullanabilirsiniz:

select dbms_metadata.get_ddl('TABLE', table_name) 
from user_tables; 

CLOB sütununun içeriğini düzgün görüntüleyebilmek için SQL istemcinizi ayarlamanız gerekecektir.

Daha fazla detay (örneğin diğer nesneler için DDL almak hakkında) kılavuzunda bulunabilir: Tabloda çok yoksa http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_metada.htm