考虑以下相关查询:
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帐户运行它,但不能与其他任何帐户一起运行。这是为什么?
答案 0 :(得分:0)
之所以发生这种情况,是因为您想要运行DML的其他用户(帐户)可能不具有该表的UPDATE和SELECT权限。 因此,CASSETTE用户应该向相应的用户授予权限。
I.E。,说你要从OTHERUSER架构运行它,你应该
1-使用CASSETTE USER连接到DB
2-给予如下许可
grant ALL PRIVILEGES on DB_NIM_CABLES to OTHERUSER ;
PS我给予所有权限,应该足以给出SELECT,INSERT,UPDATE。
请参阅此文档,在其讨论OBJECT权限的部分。
答案 1 :(得分:0)
有重复的表,一个在CASSETTE模式中,另一个在GTFIBER中。我正在更新GTFIBER方案中的表并在另一个方案中查找数据。谢谢你的时间