我对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'
返回两个表的列。我在互联网上到处都没有运气。我试图做交叉和加入,但没有运气。
如果有人有任何帮助或能指出我正确的方向,我会非常感激!
答案 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');