表TAB_1 :Create table tab_1 (name varchar2(8),age number(3));
1 编写一个存储过程,用于判断tab_11中有没有小于18岁的,若有,将这些数据转移到
tab_12中 tab_11和tab_12的结构一样。
2 编写一个触发器,在每次删除tab_11数据坏死进行判断,如果发现年龄超过80第记录,则将数据记录到tab_13中,tab_13和tab_11结构一样。

解决方案 »

  1.   

    1
    insert into tab_2 select * from tab_1 where age<18;
    2在每次删除tab_11数据坏死进行判断?
    不明白
      

  2.   

    表TAB_1 :Create table tab_1 (name varchar2(8),age number(3)); 
    1 编写一个存储过程,用于判断tab_1中有没有小于18岁的,若有,将这些数据转移到 
    tab_2中 tab_1和tab_2的结构一样。 
    2 编写一个触发器,在每次删除tab_1数据进行判断,如果发现年龄超过80第记录,则将数据记录到tab_3中,tab_3和tab_1结构一样。
      

  3.   

    CREATE OR REPLACE TRIGGER trig_test
    AFTER
    DELETE
    ON tab_1
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    DECLARE
    BEGIN
      IF :OLD.age >=80 THEN
        insert into tab_3 values(:OLD.name,:OLD.age);
      END IF;
    END trig_test;