请教oracle触发器,当存在orderid这个记录则更新其他字段,不存在则插入
这样的触发器应该怎样写?
我以前在mssql用instead of 触发器就可以写。
在oracle里出现递归现象。而且不能在表上建立instead of 触发器
求教
这样的触发器应该怎样写?
我以前在mssql用instead of 触发器就可以写。
在oracle里出现递归现象。而且不能在表上建立instead of 触发器
求教
解决方案 »
- 如何取上个月的今天的前一天的问题,有好的办法么,工作中遇到的,请大家帮忙(请想好在回答,有好种情况比如闰月之类)?
- 怎么把2009-11-13 2:07:50这种格式的转成YYYY-MM-DD格式?
- 生产环境建立索引的疑问
- 初学ORACLE,一个简单的存储过程写法,请指点!
- C++ Buiider 6 + ODAC 4.5如何获得Oracle存储过程的输出参数?
- 对表数据大量删除后,表空间还是占有率很高,如何解决?如何知道谁占有了那么多空间?
- Oracle登录产生了01033错误
- REPORT的格式问题
- 修改字段的精度,number(10,2)-->number(10,4)
- 一个分组函数的查询问题,不能使用子查询
- 求一sql,求2个表的补集
- oracle11g的系统环境变量有哪些
(
ID NUMBER(2),
MyDesc VARCHAR2(20)
);INSERT INTO T153 VALUES(1, 'A');
INSERT INTO T153 VALUES(2, 'B');
INSERT INTO T153 VALUES(3, 'C');
实测结果:
BEFORE INSERT ON T153
FOR EACH ROW
DECLARE
vCount NUMBER(1) := 0;
BEGIN
SELECT COUNT(1) INTO vCount FROM T153 WHERE ID = :NEW.ID;
IF vCount = 1 THEN
DELETE FROM T153 WHERE ID = :New.ID;
END IF;
END TriggerInsertOrUpdate;
用before insert on Tab
或after ....就可以了instead of 在oracle中也可以用,只不用用于试图触发器
我好像会出现死循环,不停地insert。因为我没有先删除的。。后来搞不店就换成存储过程啦。。
谢谢大家帮忙