Oracle 比较PL SQL中不同列的两个表
我对PL SQL非常陌生,我遇到了一个问题。希望它不太难解决,我只是把它全搞错了。 我的问题是:我有两个列数不同的表。我需要运行一个检查,看看不同的列是什么,然后将它们添加到一个表中。 例如: 表1有一个名为name的列 表2有两列名为name和id (名称在两个表中具有相同的数据类型) 在这种情况下,我需要运行一个脚本来检查表1和表2,查看表1是否缺少“id”列,然后将其添加到表1中 这可能吗 到目前为止,我有:Oracle 比较PL SQL中不同列的两个表,oracle,plsqldeveloper,alter-table,Oracle,Plsqldeveloper,Alter Table,我对PL SQL非常陌生,我遇到了一个问题。希望它不太难解决,我只是把它全搞错了。 我的问题是:我有两个列数不同的表。我需要运行一个检查,看看不同的列是什么,然后将它们添加到一个表中。 例如: 表1有一个名为name的列 表2有两列名为name和id (名称在两个表中具有相同的数据类型) 在这种情况下,我需要运行一个脚本来检查表1和表2,查看表1是否缺少“id”列,然后将其添加到表1中 这可能吗 到目前为止,我有: SELECT TABLE_NAME, COLUMN_NAME FROM user
SELECT TABLE_NAME, COLUMN_NAME FROM user_tab_columns WHERE table_name = 'TEST_TBL' OR TABLE_NAME ='TEST_TBL1'
返回两个表的列。我在网上到处找,一点运气都没有。我试过做交叉和加入,但运气不好
如果有人能为我提供任何帮助,或者能为我指明正确的方向,我将不胜感激 以获取不同的列
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');