这篇文章主要讲解了“怎么理解数据库触发器中的NEW和OLD”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解数据库触发器中的NEW和OLD”吧!
我创建了这两张表,并在plch_parts表中加了两行数据:
CREATE TABLE plch_parts
(
partnum NUMBER
, partname VARCHAR2 (50)
)
/
BEGIN
INSERT INTO plch_parts
VALUES (123, 'Steering Wheel');
INSERT INTO plch_parts
VALUES (456, 'Brake Pedal');
COMMIT;
END;
/
CREATE TABLE plch_log
(
partnum NUMBER
, partname VARCHAR2 (50)
, changed_on DATE
, changed_by VARCHAR2 (100)
)
/
然后我在 plch_parts 表上加了个触发器:
CREATE OR REPLACE TRIGGER plch_parts_trig
AFTER UPDATE
ON plch_parts
FOR EACH ROW
DECLARE
BEGIN
INSERT INTO plch_log
VALUES (:new.partnum
, :new.partname
, SYSDATE
, USER);
END plch_parts_trig;
/
然后我执行了这个块:
BEGIN
UPDATE plch_parts
SET partnum = -1 * partnum
WHERE partname = 'Brake Pedal';
UPDATE plch_parts
SET partname = UPPER (partname)
WHERE partnum = 123;
COMMIT;
END;
/
下列选项哪些显示了这个查询的结果:
SELECT partnum, partname
FROM plch_log
ORDER BY partnum
/
(A)
PARTNUM PARTNAME
---------- ------------------
-456 Brake Pedal
123 STEERING WHEEL
(B)
PARTNUM PARTNAME
---------- ------------------
123 Steering Wheel
456 Brake Pedal
(C)
PARTNUM PARTNAME
---------- ------------------
123 STEERING WHEEL
456 Brake Pedal
(D)
PARTNUM PARTNAME
---------- ------------------
123 STEERING WHEEL
-456 Brake Pedal
答案A
SQL> SELECT partnum, partname
2 FROM plch_log
3 ORDER BY partnum
4 /
PARTNUM PARTNAME
---------- --------------------------------------------------
-456 Brake Pedal
123 STEERING WHEEL
SQL>
感谢各位的阅读,以上就是“怎么理解数据库触发器中的NEW和OLD”的内容了,经过本文的学习后,相信大家对怎么理解数据库触发器中的NEW和OLD这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/680385/viewspace-2669052/