我有两个模式,比如'DB_Internals和'Network'。
这两个模式都包含一个名为cable的表。我只想在两个模式中从表'cable'中单独提取列名,并使用SQL检查列名是否有任何差异。
我该如何做到这一点?
答案 0 :(得分:0)
在DB_Internals架构中,将表名重命名为cable_1
将表'Cable_1'授权给'网络'架构..
grant select on cable_1 to network;
现在,登录网络架构..
select column_name from dba_tab_columns where table_name='cable'
minus
select COLUMN_NAME from dba_tab_columns where table_name='cable_1';
答案 1 :(得分:0)
查询所需的数据位于信息架构中:
http://www.postgresql.org/docs/current/static/infoschema-columns.html
然后,您需要使用该数据比较两个表。这样做的选项很多,例如: