【发布时间】:2016-11-16 11:32:08
【问题描述】:
考虑以下相关查询:
update CASSETTE.DB_NIM_CABLES a
set( cgb_a, cgb_z ) =
(
select regexp_substr( name, '[^ ]+', 1, 1 )
, regexp_substr( name, '[^ ]+', 1, 1 )
from CASSETTE.DB_NIM_CABLES b
where b.id = a.id
) where REGEXP_COUNT( a.name, '-' ) = 1;
如果我使用 CASSSETTE 帐户运行它,这可以工作,但不能使用任何其他帐户。这是为什么呢?
【问题讨论】:
-
你得到什么样的错误?您是否具有从其他帐户更新该表的适当权限?
-
我没有收到错误,我看到提示说 # rows updated,但是当我查看时没有更新任何行。我已经分配了适当的权限。
-
您是否从不同的登录会话进行检查,而不是在检查更改之前提交?
标签: sql oracle correlated-subquery