当前位置: 代码迷 >> SQL >> oracle用SQL话语实现desc函数功能
  详细解决方案

oracle用SQL话语实现desc函数功能

热度:55   发布时间:2016-05-05 15:12:13.0
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;

  相关解决方案