在orcle自带的SQL Plus里能运行,在PL/SQL里不能运行,报错:无效SQL语句.例如desc

PLSQL里不支持desc表名这种操作,在sqlplus和另外有的软件里可以执行

但是你非要执行的话,可以采用下边的语句

SELECT DTC.OWNER,DTC.TABLE_NAME,DTC.COLUMN_NAME,DTC.DATA_TYPE,DTC.NULLABLE,DTC.DATA_DEFAULT,DCC.comments
FROM
DBA_TAB_COLUMNS DTC, DBA_COL_COMMENTS DCC
WHERE DTC.OWNER = DCC.owner AND
DTC.TABLE_NAME = DCC.table_name AND
DTC.COLUMN_NAME = DCC.column_name  AND
DTC.OWNER = 'SCOTT' AND
DTC.TABLE_NAME = 'TEST'
ORDER BY DTC.OWNER,DTC.TABLE_NAME,DTC.COLUMN_NAME

这两句,第一是你要查的某个表属于的那个用户,引号里必须大写

第二个是你要查的表名,也必须大写

改这俩地方就好

你可能感兴趣的:(在orcle自带的SQL Plus里能运行,在PL/SQL里不能运行,报错:无效SQL语句.例如desc)