请教oracle触发器
if (:new_value.CITYCIRCLEIN is not null ) and (:new_value.CITYCIRCLEIN <>'') then
我这段代码有错误呢,应该怎么写呢

解决方案 »

  1.   

    if :new_value.CITYCIRCLEIN is not null then
      

  2.   

    把and (:new_value.CITYCIRCLEIN <>'')去掉
    ORACLE里面用<>''是差不出''或者null字段的,''值和NULL值都用IS NULL(IS NOT NULL)
    来查询.
      

  3.   

    如果里面不是NULL,而是''那怎么查出来呢
      

  4.   

    SQL> create table a(id integer,name varchar2(10));
    SQL> insert into a(id) values(1);
    SQL> insert into a values(2,NULL);
    SQL> insert into a values(3,'');
    SQL> insert into a values(4,'4');
    SQL> commit;
    SQL> select * from a;        ID NAME
    ---------- ----------
             1
             2
             3
             4 4SQL> select * from a where name='';未选定行SQL> select * from a where name is null;        ID NAME
    ---------- ----------
             1
             2
             3ORACLE把''值就当成NULL了,用=''是查不出来的,查''字段也要用IS NULL
      

  5.   

    IF (:NEW_VALUE.CITYCIRCLEIN IS NOT NULL ) and LENGTH(:NEW_VALUE.CITYCIRCLEIN) >0  THEN