Oracle授予更改序列

Eqb*_*bal 2 oracle sequence grant alter

我有grant alter sequence一个用户.但我必须指定schema name改变序列,否则它会返回错误sequence does not exist.是否可以以某种方式执行授权,因此我不必指定模式名称?我可以select/insert/update不指定架构名称.

All*_*lan 6

名称解析和访问权限是单独的概念.它grant允许您更改架构,但仍然受到您所在的命名空间的限制.有四种方法可以使一个架构中的名称在另一个架构中解析:

  1. 使用对象名称引用模式:
    select schema_name.sequence_name.nextval from dual;
  2. 更改当前会话以解析名称,就像您在其他架构中一样:
    alter session set current_schema = schema_name;
  3. 在当前架构中为对象创建同义词:
    create synonym sequence_name for schema_name.sequence_name;
  4. 为对象创建公共同义词:
    create public synonym sequence_name for schema_name.sequence_name;