我正在使用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;