Oracle用SQL語句實現desc函數功能:
SELECT A.COLUMN_NAME 欄位名,
DATA_TYPE ||DECODE(DATA_TYPE,'DATE','','CLOB','','BLOB','','BFILE','','FLOAT','','LONG RAW','','LONG','','RAW','(' || TO_CHAR(DATA_LENGTH) || ')',
(DECODE(SIGN(INSTR(DATA_TYPE, 'CHAR')),1,
'(' || TO_CHAR(DATA_LENGTH) || ')',(DECODE(SUBSTR(DATA_TYPE, 1, 9),
'TIMESTAMP', '',
(DECODE(NVL(DATA_PRECISION, -1), -1,
'',(DECODE(NVL(DATA_SCALE, 0), 0,
'(' || TO_CHAR(DATA_PRECISION) || ')', '(' || TO_CHAR(DATA_PRECISION) || ',' ||
TO_CHAR(DATA_SCALE) || ')'))))))))) 欄位類型,
A.NULLABLE 允許為空白,
A.DATA_DEFAULT 預設值,
B.COMMENTS 欄位注釋
FROM ALL_TAB_COLUMNS A,
ALL_COL_COMMENTS B
WHERE B.TABLE_NAME=A.TABLE_NAME
AND A.OWNER=B.OWNER
AND A.COLUMN_NAME=B.COLUMN_NAME
AND A.TABLE_NAME =UPPER( 'TABLE_NAME')
AND A.OWNER =UPPER( 'USER')
ORDER BY COLUMN_ID;
更多Oracle相關資訊見Oracle 專題頁面 http://www.bkjia.com/topicnews.aspx?tid=12