create or replace trigger trg_sum_gprs_200909
  after insert or update on sum_gprs_200909
  for each row
declare
     PRAGMA AUTONOMOUS_TRANSACTION;
  cnt number(3);
begin    IF INSERTING THEN
      select count(*) into cnt from SYS_SWK_RATE where  component_id =:new.package_id ;
  --    IF  cnt > 0 THEN
        INSERT INTO INT_SWK_SMS_EVENT(SUBSCRIPTION_ID,CREATE_TIME,SERVICE_NUM,PRODUCT_ID,STATUS,SMS_INFO,
EVENT_TYPE,EVENT_VALUE1,EVENT_VALUE2,EVENT_VALUE3,EVENT_VALUE4,REMARK)
VALUES(:new.subscription_id,null,:new.SERVICE_NUMR,0,null,
2,:new.package_id,:new.ALL_OCT,'200909',NULL,NULL,NULL);
 --     END IF;
    END IF;
END;
这个可以调用,但怎么得不到结果?

解决方案 »

  1.   

    在 INSERT INTO INT_SWK_SMS_EVENT(SUBSCRIPTION_ID,CREATE_TIME,SERVICE_NUM,PRODUCT_ID,STATUS,SMS_INFO, 
    EVENT_TYPE,EVENT_VALUE1,EVENT_VALUE2,EVENT_VALUE3,EVENT_VALUE4,REMARK) 
    VALUES(:new.subscription_id,null,:new.SERVICE_NUMR,0,null, 
    2,:new.package_id,:new.ALL_OCT,'200909',NULL,NULL,NULL); 后面需要 commit;
      

  2.   

    谢谢,sum_gprs_200909 表中字段定义的长度比INT_SWK_SMS_EVENT表中字段定义长度长的话,:new.subscription_id可以正确插入吗?:new.subscription_id的长度不会超过INT_SWK_SMS_EVENT表中字段定义长度。
      

  3.   

    谢谢,sum_gprs_200909 表中字段定义的长度比INT_SWK_SMS_EVENT表中字段定义长度长的话,:new.subscription_id可以正确插入吗?
    会出错,插入异常。