oracle删除触发器 10
请教一个问题,oracle的删除触发器,在A删除一条数据后,在插回到A表中:CREATEORREPLACETRIGGERTR_TAFTERDELETEONTFOREACH...
请教一个问题,oracle的删除触发器,在A删除一条数据后,在插回到A表中:
CREATE OR REPLACE TRIGGER TR_T
AFTER DELETE ON T
FOR EACH ROW
DECLARE V_COUNT NUMBER;
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO T VALUES(:OLD.ID,:OLD.MC,SYSDATE);
COMMIT;
END TR_T;
执行后报错死锁的错误
哪位大牛能指点下
是删除事件的触发器 展开
CREATE OR REPLACE TRIGGER TR_T
AFTER DELETE ON T
FOR EACH ROW
DECLARE V_COUNT NUMBER;
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO T VALUES(:OLD.ID,:OLD.MC,SYSDATE);
COMMIT;
END TR_T;
执行后报错死锁的错误
哪位大牛能指点下
是删除事件的触发器 展开
3个回答
展开全部
删除触发器,DROP TRIGGER trigger_name;当然你要有相关权限。
装个pl/sql,更简单。
删除表的时候“应该”不会删除响应的触发器的。为验证,你可以验证下,记得验证了告诉我哈。
验证方法:
删除表后查询相关触发器:语句
SELECT TRIGGER_NAME, TRIGGER_TYPE, TRIGGERING_EVENT,
TABLE_OWNER, BASE_OBJECT_TYPE, REFERENCING_NAMES,
STATUS, ACTION_TYPE
FROM all_triggers where TRIGGER_NAME=your_trigger_name;
装个pl/sql,更简单。
删除表的时候“应该”不会删除响应的触发器的。为验证,你可以验证下,记得验证了告诉我哈。
验证方法:
删除表后查询相关触发器:语句
SELECT TRIGGER_NAME, TRIGGER_TYPE, TRIGGERING_EVENT,
TABLE_OWNER, BASE_OBJECT_TYPE, REFERENCING_NAMES,
STATUS, ACTION_TYPE
FROM all_triggers where TRIGGER_NAME=your_trigger_name;
追问
感谢您的及时响应,我是想问删除事件的触发器的问题
展开全部
删除表:与它相连的触发器是顺带删除了.
删除触发器:DROP TRIGGER trigger_name;
删除触发器:DROP TRIGGER trigger_name;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般情况下在触发器中是不能使用DDL语句的,使用自治事务可以实现
可以在触发器中加入:
pragma autonomous_transaction; 表示自由事务处理。
CREATE OR REPLACE TRIGGER temp_ais
AFTER insert ON atest
for each row
DECLARE
pragma autonomous_transaction;
BEGIN
execute immediate 'DROP TABLE AAA';
end;
可以在触发器中加入:
pragma autonomous_transaction; 表示自由事务处理。
CREATE OR REPLACE TRIGGER temp_ais
AFTER insert ON atest
for each row
DECLARE
pragma autonomous_transaction;
BEGIN
execute immediate 'DROP TABLE AAA';
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询