gpt4 book ai didi

sql - ORA-01749 : you may not GRANT/REVOKE privileges to/from yourself

转载 作者:行者123 更新时间:2023-12-04 03:15:13 28 4
gpt4 key购买 nike

我正在从 RATOR_MONITORING 架构运行以下查询,该架构授予从 RATOR_MONITORING_CONFIGURATION.SMSC_GATEWAY 表到 RATOR_MONITORING 架构的引用权限。

GRANT REFERENCES ON "RATOR_MONITORING_CONFIGURATION"."SMSC_GATEWAY" TO "RATOR_MONITORING";  
ALTER TABLE "RATOR_MONITORING"."SMSC_GATEWAY_STATUS" ADD CONSTRAINT "SMSC_GATEWAY_STATUS_FK1" FOREIGN KEY ("SMSC_GATEWAY_ID")
REFERENCES "RATOR_MONITORING_CONFIGURATION"."SMSC_GATEWAY" ("ID") ON DELETE CASCADE ENABLE;

当我运行以下查询时,出现错误:

SQL Error: ORA-01749: you may not GRANT/REVOKE privileges to/from yourself

我还有其他 sql 语句,我只想从 RATOR_MONITOR 模式运行。这条sql语句存储在一个sql文件中。我在 sql plus 中运行这个 sql 文件。那么有没有办法使用匿名 block 或任何其他方法,我可以连接到模式 RATOR_MONITORING_CONFIGURATION 模式并授予引用权限,然后再次连接到 rator_monitor 模式并运行 alter table 语句和其他 sql 语句。

最佳答案

如果您有执行此操作的 SQL 脚本,那么您可以简单地添加连接语句来切换用户,如下所示。

我有 test.sql 文件,其中包含 grant 和 alter 语句。我有两个用户 shhr

conn sh/sh@orcl
grant REFERENCES on sh.customers to hr;
conn hr/hr@orcl
ALTER TABLE cust ADD CONSTRAINT fk1 FOREIGN KEY (ID) REFERENCES sh.customers(CUST_ID) ON DELETE CASCADE ENABLE;

我只是简单地执行了脚本。

[oracle@ora12c ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Tue Jan 17 15:19:40 2017

Copyright (c) 1982, 2014, Oracle. All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options

SQL> @test.sql
Connected.

Grant succeeded.

Connected.

Table altered.

SQL>

关于sql - ORA-01749 : you may not GRANT/REVOKE privileges to/from yourself,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41692588/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com