Sqlplus
如何更改 sql desc 命令的輸出?
當我做 desc table 時,我得到列 Name, Null? 和類型。我還希望得到一個像 UNIQUE 這樣的列,告訴我該列是否實際上是唯一的。我意識到這是標記為 UNIQUE 的列與標記為該表的主鍵的列(如果存在)的組合。
作為替代方案,我嘗試過:
SELECT column_name "Name", nullable "Null?", concat(concat(concat(data_type,'('),data_length),')') "Type" FROM user_tab_columns WHERE table_name='TABLE_NAME_TO_DESCRIBE';
我在某處找到的,但是當我用我的表的名稱替換 TABLE_NAME_TO_DESCRIBE 時返回了 0 行。
我從 sqlplus 執行。有什麼辦法可以做到這一點?特定(返回唯一約束)或一般(如何更改 desc 命令結果)答案表示讚賞。
SELECT utc.column_name "Name" , utc.nullable "Null?" , concat(concat(concat(utc.data_type,'('),utc.data_length),')') "Type" , ui.uniqueness FROM user_tab_columns utc LEFT JOIN user_ind_columns uic ON uic.table_name = utc.table_name AND utc.column_name = uic.column_name LEFT JOIN user_indexes ui ON ui.table_name = utc.table_name AND uic.index_name=ui.index_name WHERE utc.table_name='TABLE_NAME_TO_DESCRIBE';