1. 程式人生 > >[]Oracle]查詢表中每隔欄位是否主鍵,查詢表名、欄位名、主鍵、資料型別、是否為空和註釋

[]Oracle]查詢表中每隔欄位是否主鍵,查詢表名、欄位名、主鍵、資料型別、是否為空和註釋

select
    utc.column_name as 欄位名,utc.data_type 資料型別,utc.data_length 最大長度,
CASE utc.nullable WHEN 'N' THEN '否' ELSE '是' END 可空,
utc.data_default 預設值,ucc.comments 註釋,UTC.table_name 表名,
CASE UTC.COLUMN_NAME 
WHEN (select
 col.column_name 
from
 user_constraints con,user_cons_columns col
where
 con.constraint_name=col.constraint_name and con.constraint_type='P'
 and col.table_name='BAS_EVENT')   THEN '是' ELSE '否' END AS 主鍵
from
    user_tab_columns utc,user_col_comments ucc
where
    utc.table_name = ucc.table_name
    and utc.column_name = ucc.column_name
    and utc.table_name = 'BAS_EVENT' 
order by

    column_id;


參考:https://www.cnblogs.com/nayitian/archive/2013/08/02/3231784.html