是否可以更新同一服务器上另一个Netezza数据库中的表?

时间:2014-04-11 18:15:53

标签: sql netezza

我正在尝试从暂存环境更新生产环境中的表。我写了一个更新声明(下面的简化版本),它将使用来自另一个数据库的数据,并且我得到了这种类型的命令不支持的交叉数据库访问"错误。我可以成功插入另一个数据库中的数据,但不能更新。也许这是不允许的?在下面的示例中,我登录到DB1。

首次尝试:

UPDATE DB1..EMPLOYEE e1
SET e1.name = e2.name,
    e1.phone = e2.phone
FROM DB2..EMPLOYEE e2
WHERE e1.id = e2.id; 

第二次尝试:

UPDATE DB1..EMPLOYEE e1
SET e1.name = e2.name,
    e1.phone = e2.phone
FROM (select name, phone, id from DB2..EMPLOYEE) e2
WHERE e1.id = e2.id;

1 个答案:

答案 0 :(得分:0)

您是对的,您只能更改当前连接的数据库中的内容。

支持从不同数据库读取数据库语句以便更改当前数据库中的数据,因此这些语句应该在您连接到DB1时起作用。

编辑:上面的更新语句更新DB1中的表,因此您需要连接到DB1。