ORACLE 查詢某表中的某個字段的類型,是否為空,是否有默認值等


最近寫的功能中有這樣一個小功能,根據數據庫查詢此庫中是否有某表,如果有,查詢某表下面的某個字段的詳細信息


其中一種是...
select ATC.OWNER, atC.TABLE_NAME, ATC.COLUMN_NAME, ATC.DATA_TYPE, ATC.DATA_LENGTH, ATC.NULLABLE, ucc.comments from (select ATC.OWNER, atC.TABLE_NAME, ATC.COLUMN_NAME, ATC.DATA_TYPE, ATC.DATA_LENGTH, ATC.NULLABLE from all_tab_columns ATC where ATC.TABLE_NAME = '要查詢的字段名' and ATC.COLUMN_NAME in ('要查詢的字段名','要查詢的字段名','要查詢的字段名')) atc left outer join user_col_comments ucc on atc.table_name = ucc.table_name and atc.column_name = ucc.column_name left outer join user_tab_comments utc on atc.table_name = utc.table_name order by atc.table_name, atc.column_name;

還有一種是

 

 1 SELECT USER_TAB_COLS.TABLE_NAME   as 表名,
 2        USER_TAB_COLS.COLUMN_NAME  as 列名,
 3        USER_TAB_COLS.DATA_TYPE    as 數據類型,
 4        USER_TAB_COLS.DATA_LENGTH  as 長度,
 5        USER_TAB_COLS.NULLABLE     as 是否為空,
 6        USER_TAB_COLS.COLUMN_ID    as 列序號,
 7        user_col_comments.comments as 備注
 8   FROM USER_TAB_COLS
 9  inner join user_col_comments on user_col_comments.TABLE_NAME =
10                                  USER_TAB_COLS.TABLE_NAME
11                              and user_col_comments.COLUMN_NAME =
12                                  USER_TAB_COLS.COLUMN_NAME    where  user_col_comments.TABLE_NAME='數據庫名' AND  USER_TAB_COLS.COLUMN_NAME in ('要查詢的字段名','要查詢的字段名','要查詢的字段名')
13 

  

查詢某庫下面的某表全部字段

 select 
      ut.COLUMN_NAME,--字段名稱
      uc.comments,--字段注釋
      ut.DATA_TYPE,--字典類型
      ut.DATA_LENGTH,--字典長度
      ut.NULLABLE--是否為空
from user_tab_columns  ut
inner JOIN user_col_comments uc
on ut.TABLE_NAME  = uc.table_name and ut.COLUMN_NAME = uc.column_name
where ut.Table_Name='某表名' 
order by ut.column_name

  

以上SQL都已經運用到程序中,可以直接貼到sql中用

 

歡迎大家提出問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM