sql - Oracle 中“.schema sqlite_master”的等价物
问题描述
我正在尝试对 SQLite 和 Oracle 做同样的练习。在 SQLite 中,有一个表sqlite_master
包含数据库中包含的所有其他表、索引、触发器和视图的描述。我可以看到要生成的sqlite_master
查询.schema sqlite_master
。
DBA
在 Oracle 中,数据字典以多个视图(ALL
或USER
)的形式呈现给我们。我们以表格USER_TABLES
为例。USER_TABLES
例如,我们可以查询
SELECT table_name
FROM USER_TABLES;
无论如何要获取用于USER_TABLES
在 Oracle 中创建表的查询?我试过了
SELECT dbms_metadata.get_ddl('TABLE', 'USER_TABLES')
FROM dual;
但它不起作用。
解决方案
我不确定你在找什么,但如果你想在 oracle 中定义任何表,你可以使用:
Describe TableName
或者,如果您想获得表、视图或列的列表,您可以使用以下查询: 对于表:
select * from select * from all_tables
对于列:
select * from all_tab_columns
对于视图:
select * from select * from all_views
获取一个表的所有列信息: select *
from all_tab_columns
where upper(table_name) = upper('Test')
order by column_id
通常 oracle 以大写形式存储 table_name 所以我使用了 upper() 或者你可以只输入“TEST”
推荐阅读
- asp.net - 表单不会在 POST 请求中绑定到模型
- sql-server - 其他 3 个不同表格的表格评论
- python - 计算体重指数
- java - TreeSet 不添加最后一个元素
- bash - 来自 printf 的 Docker ENV 值不起作用
- sql - 编写 SQL 查询以排除日期早于具有特定标志的记录的记录
- reactjs - 浏览器导航不适用于使用 BrowserRouter 的反应路由器 v5
- python - 用前面提到的人替换人称代词(嘈杂的 coref)
- javascript - Cloudflare worker 在 Javascript 中实现路由监听器
- c - 用于无向(未加权)图的 C 中的邻接表