我有两个表
GOODS为商品,有GOODS_ID,GOODS_NUM,GOODS_NAME,CAUTION_NUM
当GOODS_NUM的值<CAUTION_NUM的值的时候,我就向名为INDENT的表中插入
GOODS_ID,GOODS_NUM,GOODS_NAME,INDENT_DATE,INDENT_NUM
其中INDENT_NUM为创建的序列IDENTSEQUENCE生成的序列的值。
请问这个触发器怎么写?
获取系统当前时间是 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual
------解决方案--------------------
- SQL code
create or replace trigger TR_T_GOODS_aiau after insert on test_goods --插入之后触发 --after UPDATE ON test_goods --更新之后触发 FOR EACH ROWDECLARE -- 当 GOODS_NUM 的值<CAUTION_NUM 的值的时候,我就向名为INDENT的表中插入 --GOODS_ID,GOODS_NUM,GOODS_NAME,INDENT_DATE,INDENT_NUM --其中INDENT_NUM为创建的序列IDENTSEQUENCE生成的序列的值。 --AUTHOR 戴忠德 --LOCAL VARIABLES HEREBEGIN IF :OLD.GOODS_NUM < :OLD.CAUTION_NUM then --向名为INDENT的表中插入 --DBMS_OUTPUT.PUT_LINE('GOODS_NUM 的值<CAUTION_NUM 准备插入,开始执行触发器.....'); INSERT INTO TEST_INDENT(GOODS_ID, GOODS_NUM, GOODS_NAME, INDENT_NUM) values (:OLD.GOODS_ID, :OLD.GOODS_NUM, :OLD.GOODS_NAME, IDENTSEQUENCE.nextval) ; --DBMS_OUTPUT.PUT_LINE('GOODS_NUM 的值<CAUTION_NUM ,触发器执行成功'); END IF;END TR_T_GOODS_aiau;