比较不同列PL SQL的两个表

时间:2013-08-13 09:32:31

标签: oracle plsqldeveloper alter-table

我对PL SQL很新,遇到了问题。希望它不是很难解决,我只是错了。 我的问题是:我有两个具有不同列数的表。我需要运行检查以查看不同的列是什么,然后将它们添加到其中一个表中。 例如:

表1有1列名为。

表2有2列名为name和id。

(两个表中的名称具有相同的数据类型)

在这种情况下,我需要运行一个检查表1和表2的脚本,看看表1缺少'id'列,然后将其添加到表1中。

这可能吗?

到目前为止,我有这个:

SELECT TABLE_NAME, COLUMN_NAME FROM user_tab_columns WHERE table_name  = 'TEST_TBL' OR TABLE_NAME  ='TEST_TBL1' 

返回两个表的列。我在互联网上到处都没有运气。我试图做交叉加入,但没有运气。

如果有人有任何帮助或能指出我正确的方向,我会非常感激!

1 个答案:

答案 0 :(得分:0)

获取不同的列

SELECT TABLE_NAME, COLUMN_NAME FROM user_tab_columns 
where table_name  = 'Table1' AND COLUMN_NAME NOT IN ( SELECT COLUMN_NAME  FROM USER_TAB_COLUMNS WHERE TABLE_NAME='table2') 
UNION
SELECT TABLE_NAME, COLUMN_NAME FROM user_tab_columns 
where table_name  = 'table2' AND COLUMN_NAME NOT IN ( SELECT COLUMN_NAME  FROM USER_TAB_COLUMNS WHERE TABLE_NAME='table1');