Privilegios requeridos para la utilización de sentencias de SQL dinámico
Un ID necesita privilegios específicos para emitir sentencias de SQL dinámico.
La siguiente tabla enumera los ID y describe los privilegios que necesitan para emitir cada tipo de instrucción SQL:
| Operación | Identificación o cargo | Privilegios necesarios |
|---|---|---|
| OTORGAR | ID o rol SQL actual | Cualquiera de los siguientes privilegios:
|
| REVOCAR | ID o rol SQL actual | Debe haber concedido el privilegio que se está revocando o tener autoridad SYSCTRL o SYSADM. |
| CREATE, para nombre de objeto no cualificado | ID o rol SQL actual | Privilegio aplicable de tabla, base de datos o esquema |
| Calificar el nombre del objeto creado | Identificación o función nombrada como propietario | Privilegio de tabla o base de datos aplicable. El calificador puede ser cualquier ID y no necesita tener ningún privilegio si el ID SQL actual o el rol (si está en un contexto de confianza con la cláusula ROLE AS OBJECT OWNER AND QUALIFIER especificada) tiene la autoridad SYSADM, system DBADM o SYSCTRL (siempre que sea aplicable) o la autoridad DBADM o DBCTRL para la base de datos (siempre que sea aplicable). |
| Otro SQL dinámico si DYNAMICRULES utiliza el comportamiento de ejecución | Todos los ID principales, el rol, los ID secundarios y el ID SQL actual juntos | Según lo requerido por la declaración. Los nombres de objetos no cualificados se cualifican mediante el valor del registro especial CURRENT SQLID. |
| Otro SQL dinámico si DYNAMICRULES utiliza el comportamiento de enlace | Propietario del plan o paquete | Según lo requerido por la declaración. El comportamiento de DYNAMICRULES determina cómo se califican los nombres de objetos no calificados. |
| Otro SQL dinámico si DYNAMICRULES utiliza definir comportamiento | Propietario de la función o procedimiento | Según lo requerido por la declaración. El comportamiento de DYNAMICRULES determina cómo se califican los nombres de objetos no calificados. |
| Otro SQL dinámico si DYNAMICRULES utiliza el comportamiento de invocación | ID de la instrucción SQL que invocó la función, el procedimiento o el rol | Según lo requerido por la declaración. El comportamiento de DYNAMICRULES determina cómo se califican los nombres de objetos no calificados. |