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

Sql 是否可以更新同一服务器上另一个Netezza数据库中的表?,sql,netezza,Sql,Netezza,我正在尝试从暂存环境更新生产环境中的表。我写了一个update语句(下面的简化版本),它将使用来自另一个数据库的数据,我得到了一个“这种命令类型不支持跨数据库访问”错误。我可以成功地从另一个数据库插入数据,但不能进行更新。也许这是不允许的?在下面的示例中,我登录到DB1 第一次尝试: UPDATE DB1..EMPLOYEE e1 SET e1.name = e2.name, e1.phone = e2.phone FROM DB2..EMPLOYEE e2 WHERE e1.id =

我正在尝试从暂存环境更新生产环境中的表。我写了一个update语句(下面的简化版本),它将使用来自另一个数据库的数据,我得到了一个“这种命令类型不支持跨数据库访问”错误。我可以成功地从另一个数据库插入数据,但不能进行更新。也许这是不允许的?在下面的示例中,我登录到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;

您是正确的,您只能更改当前连接到的数据库中的内容

但是,支持从不同的数据库读取跨数据库语句以更改当前数据库中的数据,因此在连接到DB1时,这些语句应该可以工作


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

您的意思是这些语句在连接到DB1时应该工作吗?您所说的所有其他内容看起来都是正确的,而且在我更改了其中一个数据库后,我确实使其正常工作,因此在创建其中一个数据库时,一定存在某种权限或安装错误。抱歉,我将更正我的答案。是的,当您连接到DB1时。您确定收到错误时已连接到DB1吗?我只看到“不支持跨数据库语句…”错误在未连接到正确的数据库时发生。其他授权问题通常会返回不同的错误消息