2
A
回答
1
好問題。讓我好奇。我找到了一個答案here。 LOGMINER實用程序也在那裏提及。也許值得研究?
SQL> CREATE OR REPLACE FUNCTION cur_sql_txt
2 RETURN CLOB
3 AS
4 v_cnt BINARY_INTEGER;
5 v_sql ORA_NAME_LIST_T;
6 v_rtn CLOB;
7 BEGIN
8 v_cnt := ora_sql_txt (v_sql);
9 FOR l_bit IN 1..v_cnt LOOP
10 v_rtn := v_rtn || RTRIM (v_sql (l_bit), CHR (0));
11 END LOOP;
12 RETURN RTRIM (v_rtn, CHR (10)) || ';';
13 END;
14/
Function created.
SQL> CREATE OR REPLACE TRIGGER trigger_name
2 BEFORE UPDATE ON emp
3 FOR EACH ROW
4 BEGIN
5 DBMS_OUTPUT.PUT_LINE (cur_sql_txt);
6 END;
7/
Trigger created.
SQL> SET SERVEROUTPUT ON;
SQL> UPDATE emp
2 SET empno = empno,
3 ename = ename
4 WHERE ROWNUM = 1;
UPDATE emp
SET empno = empno,
ename = ename
WHERE ROWNUM =
:"SYS_B_0";
1 row updated.
SQL>
0
爲什麼不使用審計聲明?它允許您根據表監視實例更新。
相關問題
- 1. 我的更新查詢不會觸發更新後觸發
- 2. 獲取觸發Oracle觸發器的值
- 3. oracle觸發器查詢
- 4. Oracle觸發器查詢
- 5. ORACLE SQL:更新觸發
- 6. ORACLE觸發器INSERT更新
- 7. Oracle觸發器不更新
- 8. Oracle之前更新觸發
- 9. 在更新觸發在oracle?
- 10. oracle sql開發人員更新查詢
- 11. 更新操作觸發插入查詢?
- 12. SQL更新查詢被觸發
- 13. PostgreSQL在更新特定列後觸發
- 14. 觸發器中的Oracle to_char子查詢
- 15. Oracle多重更新查詢
- 16. Oracle數據庫:在特定列被更改時禁用觸發器更新?
- 17. Oracle查詢獲取書名?
- 18. Oracle觸發器子查詢問題
- 19. Oracle:查詢屬於表的所有觸發器的SQL查詢?
- 20. mongo db中的更新查詢
- 21. Oracle SQL觸發器插入/更新
- 22. Oracle觸發器插入/更新
- 23. 更新和刪除Oracle觸發器
- 24. Oracle觸發器更新與Where子句
- 25. 如何在oracle中的複合觸發更新中獲取舊值
- 26. 用NHibernate查詢獲取特定列
- 27. Mysql查詢獲取SUM()特定行嗎?
- 28. mysql查詢獲取特定行
- 29. Hibernate Criteria查詢獲取特定列
- 30. Oracle 10g - 確定觸發器上次更新的日期
我試過這個,不幸的是,似乎ora_sql_txt函數只能在系統事件觸發器中工作(如這裏所述:http://www.orafaq.com/forum/mv/msg/90623/272957/0/#msg_272957) 。 – JCD70 2012-07-24 14:24:43
也許有一種方法可以使用de V $視圖來做到這一點? – JCD70 2012-07-24 14:25:47