触发器中经常会用到NEW和OLD两个关键字,这是系统默认的吗?只要带上NEW或者OLD,系统就知道是新数据还是老数据?
CREATE OR REPLACE TRIGGER trg_del_emp_info
BEFORE DELETE
ON emp
FOR EACH ROW
DECLARE
-- local variables here
BEGIN
INSERT INTO emp3(autoid,deptno,empno,ename,del_rq)
VALUES(seq_trg_del_autoid.NEXTVAL,:OLD.deptno,:OLD.empno,:OLD.ename,sysdate);
END;
NEW关键字在什么情况下使用?
CREATE OR REPLACE TRIGGER trg_del_emp_info
BEFORE DELETE
ON emp
FOR EACH ROW
DECLARE
-- local variables here
BEGIN
INSERT INTO emp3(autoid,deptno,empno,ename,del_rq)
VALUES(seq_trg_del_autoid.NEXTVAL,:OLD.deptno,:OLD.empno,:OLD.ename,sysdate);
END;
NEW关键字在什么情况下使用?
解决方案 »
- oracle链接:visual studio里正常,release之后的exe报错
- 请教多表查询语句写法?
- 关于JAVA读取clob慢的问题
- 在sqlplus中运行存储过程出错
- 求行列转化sql语句?
- 如何判断链路是否通(求pl/sql 语句)?
- 请问怎么用access作oracle的镜像
- 请问oracle数据库中两个大的表进行比较,看匹配程度
- developer2002 !!!这个问题麻烦继续回答一下.
- 如何看oracle下一个用户的硬盘使用情况?比如它下面的表占有硬盘空间多大?
- 求oracel语句(100分)
- 有个字段,里面的值可能是13366或者13.3kb,怎么判断并统一输出13366的结果
insert时 只有new 没有old
delete时 只有old 没有new
update时 二者都可用
:old --为一个引用以前的列值; 这两个变量只有在使用了关键字 "FOR EACH ROW"时才存在.且update语句两个都有,而insert只有:new ,delect 只有:old;
insert时 只有new 没有old
delete时 只有old 没有new
update时 二者都可用