代码会操作两种数据库,一种允许插入空串:'',一种不允许插入空串(会被解释为null),并有默认值空格:' '来保证非空。
如表aa1的IID字段。
我想实现保证在两种数据库下,不管试图插入的是空串还是空格,都由触发器实现插入空格。请问这个触发器怎么写?
ORACLE下 ;
不一定是插入空格还是空串,需要用触发器保证插入空格;
不是两个表,是两种数据库下的同一张表,一个数据库(不是ORACLE)允许插入'',另一个是oracle,会把''解析为null,所以我为字段增加了非空限制,默认值为空格‘ ’,现在需要用触发器保证另一个非oracle的数据库插入‘’时变为插入空格‘ ’
有了一个参考:
create or replace trigger aa1_trigger
before insert or update on aa1
FOR EACH ROW
BEGIN
IF :new.innerid ='' THEN
select ' ' into :new.innerid from dual;
END IF;
END;
/