我正在寻找可能的脚本运行的帮助,我可以在两个具有相同名称但位于不同数据库的不同表上测试属性。我们有一个开发DB和一个生产DB。两者在该特定表上的相同模式中具有相同的表。
例如,devdb
有一个名为data.abc_001
的表。 proddb
还有一个名为data.abc_001
的表。我想要做的是在名为' updated
'的属性上找到两者之间的差异。另一个问题是,由于我们的数据结构,我们有data.abc_001
到data.abc_999
。我认为最好的结果是有一个包含2列的表(每个数据库一个,值为'更新'它们不同)。我正在使用Toad与DB进行交互。
答案 0 :(得分:0)
如果服务器可以互相访问,我认为最简单的方法就是从prod服务器上做这样的事情:
CREATE DATABASE LINK "DEV"
CONNECT TO data
IDENTIFIED BY "my_password"
USING '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
(Host=dev_server)
(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DEV)))';
create table abc_001_differences as
select a.updated as prod_updated, b.updated as dev_updated
from abc_001 a
full outer join abc_001@"DEV" b on a.primary_key = b.primary_key
;
您可能会考虑的另一个选项是此TOAD功能:打开数据库菜单,然后转到比较>单个对象。选择您的连接/架构/表,然后查看选项。如果您更喜欢GUI,它是一个强大的工具。