Database 更新查看表
各位早上好, 我们有test1和test2环境。两种环境中都有两个表contact和users表Database 更新查看表,database,oracle,oracle10g,Database,Oracle,Oracle10g,各位早上好, 我们有test1和test2环境。两种环境中都有两个表contact和users表 T.Contact T.User T1.User 联系人是引用表,必须更新用户表ID。现在,我们正在执行以下步骤来更新T.联系人的用户ID: 根据T.Contact中的用户ID在T.User的ID中查找姓氏 在T1中查找ID。更新ID的用户 更改T中的用户ID。联系人 我们想知道是否存在更好的方法。 如果我们有相同的数据库,我们可以这样使用:假设 UPDATE T.Contact SET USER
T.Contact T.User
T1.User
联系人是引用表,必须更新用户表ID。现在,我们正在执行以下步骤来更新T.联系人的用户ID:
UPDATE T.Contact
SET USER_ID IN (
SELECT USER_ID
FROM T.User A, T.Contact B , T1.User C
WHERE A.LNAME = C.LNAME
AND A.FNAME = C.FNAME
AND A.USER_ID = B.USER_ID
)
可以调用不同的数据库环境吗
谢谢
添加注释:
我们应该说不同的模式,而不是环境。听起来像是你在寻找的
T.Contact T.User
T1.User
您可以创建从一个数据库到另一个数据库的链接,如下所示:
select ...
from tablename@otherdb;
使用“服务名称”创建数据库链接otherdb CONNECT到由密码标识的架构
然后您可以在如下查询中使用它:
select ...
from tablename@otherdb;
您是在处理两个独立的数据库,还是在同一个数据库中只处理两个模式?该更新没有意义
SET USER_ID
后面必须跟一个=
。此外,如果表都在同一个实例上,那么您需要做的就是确保在更新语句中引用正确的模式。感谢Gigatron,在同一个数据库中只有两个模式。如果你有机会,请和我们分享四个。