select count(*) into ptag from DA where 档号=档号档号=档号 该条件恒为真,则相当于select count(*) into ptag from DA 
只要da 中存在记录,count(*)肯定大于0,那么if中>0条件也为真,肯定
总是显示那句拉。要判断的话,应该是在触发器中来判断吧,详细说一下你的需求,包括表、
想要实现什么功能等等。

解决方案 »

  1.   

    就是使用存储过程插入记录时,查看有无“档号”的记录,如有,则不插入,如无,则插入,
    表结构如下:
    create or replace table DA(
    档号 in  VARCHAR2(10), 
    全宗名称 in VARCHAR2(40)
    )
      

  2.   

    用raise exception 触发一个用户定义的例外事件。如:
    DECLARE
       bad_emp_id  EXCEPTION;
       bad_acct_no EXCEPTION;
       ...
    BEGIN
       ...
       if .... then
           raise bad_emp_id;
       end if;
    EXCEPTION
       WHEN bad_emp_id OR bad_acct_no THEN  -- user-defined
          ROLLBACK;
       WHEN ZERO_DIVIDE THEN  -- predefined
          INSERT INTO inventory VALUES (part_number, quantity);
          COMMIT;
    END;