Grabar sentencia sql
Hola foro
Intento grabar algunos datos de el
Usuario, terminar, tabla, etc y la sentencia o el script sql ingresado ya sea(insert, update o delete) por algún usuario para grabarlo en un tabla
pero no se como recuperar la sentencia sql
aquí el código
Declare
v_lines INTEGER;
v_dml ora_name_list_t;
v_clob VARCHAR2(4000);
time_now DATE;
Terminal VARCHAR2(1000);
BEGIN
-- v_lines := ora_sql_txt (v_dml);
time_now := SYSDATE;
Terminal := USERENV ('TERMINAL');
SELECT sql_text INTO v_clob FROM v$sql;// me un error
-- SELECT sys_context('USERENV', 'CURRENT_SQL') INTO v_clob FROM dual;
-- FOR i IN 1 .. V_lines LOOP
-- v_clob := v_clob || v_dml(i);
-- END LOOP;
IF INSERTING THEN
INSERT INTO auditsigaceds VALUES
(auditeds.NEXTVAL, User, time_now, Terminal, 'PROVINCIA', 'INSERT', v_clob);
ELSIF DELETING THEN
INSERT INTO auditsigaceds VALUES
(auditeds.NEXTVAL, User, time_now, Terminal, 'PROVINCIA', 'DELETE', v_clob);
ELSE
INSERT INTO auditsigaceds VALUES
(auditeds.NEXTVAL, User, time_now, Terminal, 'PROVINCIA', 'UPDATE', v_clob);
END IF;
END;
Intento grabar algunos datos de el
Usuario, terminar, tabla, etc y la sentencia o el script sql ingresado ya sea(insert, update o delete) por algún usuario para grabarlo en un tabla
pero no se como recuperar la sentencia sql
aquí el código
Declare
v_lines INTEGER;
v_dml ora_name_list_t;
v_clob VARCHAR2(4000);
time_now DATE;
Terminal VARCHAR2(1000);
BEGIN
-- v_lines := ora_sql_txt (v_dml);
time_now := SYSDATE;
Terminal := USERENV ('TERMINAL');
SELECT sql_text INTO v_clob FROM v$sql;// me un error
-- SELECT sys_context('USERENV', 'CURRENT_SQL') INTO v_clob FROM dual;
-- FOR i IN 1 .. V_lines LOOP
-- v_clob := v_clob || v_dml(i);
-- END LOOP;
IF INSERTING THEN
INSERT INTO auditsigaceds VALUES
(auditeds.NEXTVAL, User, time_now, Terminal, 'PROVINCIA', 'INSERT', v_clob);
ELSIF DELETING THEN
INSERT INTO auditsigaceds VALUES
(auditeds.NEXTVAL, User, time_now, Terminal, 'PROVINCIA', 'DELETE', v_clob);
ELSE
INSERT INTO auditsigaceds VALUES
(auditeds.NEXTVAL, User, time_now, Terminal, 'PROVINCIA', 'UPDATE', v_clob);
END IF;
END;
Respuesta de yalayon
1