我对包含立即执行的过程有疑问。
我创建一个用户:
CREATE USER NUEVO_USUARIO1 IDENTIFIED BY PASSWORD
DEFAULT TABLESPACE TRABAJO
QUOTA 10M ON TRABAJO
PROFILE ADMINISTRACION;
配置文件管理包含CONNECT和CREATE TABLE特权;
我创建了一个创建表的过程:
CREATE OR REPLACE PROCEDURE NUEVO_USUARIO1.CREADOR(TABLA VARCHAR2,COLUMNA VARCHAR2) AS
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE '||TABLA||'('||COLUMNA||')';
END CREADOR;
/
但是当我尝试使用Nuevo_USUARIO1执行Creador时,我似乎没有足够的特权,但是配置文件包含create table。
EXEC CREADOR('HOLA','ADIOS');
有人知道会发生什么吗?
我认为这是行不通的,因为立即执行只能看到用户特权,而不是角色授予的特权,但是我不确定。在那种情况下,我该怎么解决?