在Clob字段中触发问题

时间:2015-03-23 12:13:13

标签: oracle

我正在使用Oracle 10g。需要在表上执行触发器(每行上的BEFORE INSERT)。触发器做的是它为varchar字段设置一个值。但是该表有一个CLOB字段,所以每当CLOB字段包含值时,触发器不是执行,否则它正常工作,trigegr被执行,它将值设置为varchar字段。可能是什么原因? 请帮忙..

CREATE OR REPLACE TRIGGER "TRIG_UPDATE_DISPLAY_NAME"
   BEFORE INSERT
   ON TABLE1
   FOR EACH ROW
DECLARE
   displayValue   VARCHAR2 (100);
BEGIN
   SELECT cust_pk_prefix || cust_pk_next_value
     INTO displayValue
     FROM customer_pk
    WHERE     cust_pk_menu = :new.inc_menu_type
          AND cust_pk_cust_id = :new.inc_cust_id
          AND cust_pk_record_status = 'A';

   :new.inc_display_name := displayValue;

   UPDATE customer_pk
      SET cust_pk_next_value = cust_pk_next_value + 1
    WHERE     cust_pk_menu = :new.inc_menu_type
          AND cust_pk_cust_id = :new.inc_cust_id
          AND cust_pk_record_status = 'A';
END;

0 个答案:

没有答案