14/06/2013, 12:29
|
| | Fecha de Ingreso: junio-2013
Mensajes: 1
Antigüedad: 11 años, 6 meses Puntos: 0 | |
Respuesta: Instruccion ddl dentro de un trigger, como ejecutar CREATE USER dentro de Sé que es muy tarde mi respuesta pero llegué aquí porque también buscaba la misma solución y la encontré, además si otros también que tienen el mismo problema y se encuentran con esta publicación espero que mi respuesta les sea de ayuda.
En si tenías razón en lo de PRAGMA AUTONOMOUS_TRANSACTION lo único que faltaba es que la sentencia lo guardes en una variable y luego la ejecutes.. así por ejemplo:
CREATE OR REPLACE TRIGGER trg_crear_usuario
after insert on tabla_usuarios
for each row
declare
PRAGMA AUTONOMOUS_TRANSACTION;
v_sql varchar2(1000);
begin
v_sql:='CREATE USER '||:new.usuario||' IDENTIFIED BY '||:new.contrasenia;
execute immediate v_sql;
commit;
end;
Por lo que cada que insertes este trigger ejecutara la variable v_sql , que esta tiene la sentencia sql que queremos.
y Listo!
(: |