ITPub博客

首页 > 数据库 > Oracle > 2011-11-18 触发器中的:NEW 和 :OLD

2011-11-18 触发器中的:NEW 和 :OLD

Oracle 作者:hanaka 时间:2019-12-17 15:37:31 0 删除 编辑

http://www.itpub.net/thread-1499223-17-1.html

163楼


我创建了这两张表,并在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>


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/680385/viewspace-2669052/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-07-15

  • 博文量
    47
  • 访问量
    29232