有人可以告訴我如何使用SQL提取我的表定義?我想從我的Oracle模式中提取所有表和其他信息的數據類型。我有大約100張桌子。如何使用SQL或Toad提取表定義
我需要我的Oracle架構的完整文檔。我的模式名稱是「cco」。
我可以通過SQL來做到這一點嗎?
我使用Toad for Data分析器3.3。請讓我知道這個工具是否有幫助。
有人可以告訴我如何使用SQL提取我的表定義?我想從我的Oracle模式中提取所有表和其他信息的數據類型。我有大約100張桌子。如何使用SQL或Toad提取表定義
我需要我的Oracle架構的完整文檔。我的模式名稱是「cco」。
我可以通過SQL來做到這一點嗎?
我使用Toad for Data分析器3.3。請讓我知道這個工具是否有幫助。
你可以試試這個 -
select * from all_tab_cols
where owner = 'CCO';
可以使用表:USER_TAB_COLUMNS
查找下面的查詢例如
select
table_name,
column_name,
data_type,
data_length,
data_precision,
nullable
from USER_TAB_COLUMNS
where table_name = '<table_name>';
這只是你也可以做一個select *
,以獲得更多信息的例子。
您還可以使用表:all_tab_columns
爲了更好的顯示效果,你可以使用:
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>';
我已經添加了一塊sql,您可以將結果粘貼到文檔上。 – Shann
要獲得DDL所有表的當前用戶,你可以使用這個:
select dbms_metadata.get_ddl('TABLE', table_name)
from user_tables;
您需要調整SQL客戶端才能正確顯示CLOB
列的內容。
更多細節(例如關於如何得到其他對象的DDL)可以在手冊中找到:http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/d_metada.htm
如果你沒有很多表,你可以使用蟾蜍進行數據分析,以查看的數據類型所有的表格。 您可以從對象資源管理器中完成它,雙擊表名稱,您將在選項卡列中找到有關新windown的必需信息。 – Shann
我有100多張桌子。現在我想提取所有表格信息的文檔目的 – santhosha
@santosha我發佈了查詢來獲取表的數據類型。 – Shann