显示表返回“显示已处理的表”。

时间:2019-06-19 07:11:09

标签: sql oracle

所以我想获取当前数据库中所有表的列表。我尝试使用以下命令:

SHOW TABLES;

,但仅打印字符串:Show tables handled.,而仅打印其他字符串。

我尝试过:Display tables of a database in java但查询返回以下错误(是,原因和操作为空):

Error report -
SQL Error: ORA-00942: table or view does not exist
00942. 00000 -  "table or view does not exist"
*Cause:    
*Action:

这些输出是什么意思?在这种情况下我该怎么办?

2 个答案:

答案 0 :(得分:1)

然后是Oracle,

select * from user_tables;

对于所有对象(过程,视图,...-包括表),请参见

select * from user_objects;

这两个结果都包含很多列;选择您感兴趣的人。

答案 1 :(得分:0)

Metadata queries for Oracle是不同的。您正在寻找的可能是这样的:

SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
     FROM USER_ALL_TABLES u
     WHERE u.nested='NO' 
     AND (u.iot_type is null or u.iot_type='IOT');