Tengo un grant alter sequence a un usuario. Pero tengo que especificar el schema name para alterar la secuencia de lo contrario, se trata de volver con el error sequence does not exist. Es posible hacer la concesión de una manera así que no tengo que especificar el nombre de esquema? Que puedo hacer select/insert/update sin especificar el nombre del esquema.

InformationsquelleAutor Eqbal | 2011-06-28

3 Comentarios

  1. 6

    La resolución de nombres y privilegios de acceso son dos conceptos distintos. El grant le da permiso para modificar el esquema, pero usted todavía está limitado por el espacio de nombres en la que estamos. Hay cuatro maneras de hacer un nombre en un esquema resolver en otro:

    1. Referencia el esquema con el nombre de objeto:
      select schema_name.sequence_name.nextval from dual;
    2. Alterar el actual período de sesiones para resolver nombres como si estuviera en el otro esquema:
      alter session set current_schema = schema_name;
    3. Crear un sinónimo para el objeto en el esquema actual:
      create synonym sequence_name for schema_name.sequence_name;
    4. Crear un sinónimo público para el objeto:
      create public synonym sequence_name for schema_name.sequence_name;
    • Me enteré de que ya tenemos un sinónimo público y alter sequence no funciona, aún así, tengo sequence does not exist error cuando intento modificar.
  2. 2

    Suena como que usted está conectado a su base de datos como un usuario diferente de la que posee la secuencia. En ese caso, usted necesita escribir el prólogo de la secuencia con el esquema, de lo contrario es ambigua en cuanto a lo de la secuencia que estamos hablando.

    Si está conectado a la base de datos como la posesión de usuario, usted no necesita el esquema clasificatorio:

    SQL> create sequence foo;
    
    Sequence created.
    
    SQL> grant alter on foo to hr;
    
    Grant succeeded.
  3. 0

    usted puede:

    ALTER SESSION SET CURRENT_SCHEMA myschema..

    a continuación, puede hacer referencia a todos los elementos sin el calificador.

Dejar respuesta

Please enter your comment!
Please enter your name here