你先选一下select count(*) into ...from .....
if(纪录=0)
 insert

解决方案 »

  1.   

    在PL/SQL中可用EXCEPTION来判断,但必须定义好UNIQUE INDEX
      

  2.   

    为说明方便,假设表t1有3个字段,且均为字符串型,需要插入'a','b','c':
    insert into t1 select 'a','b','c' from dual where 
    exists (select 'a','b','c' from dual intersect select * from t1);
    体力活,你要请客。
    PS:我测试过了。
      

  3.   

    笔误:
    insert into t1 select 'a','b','c' from dual where not 
    exists (select 'a','b','c' from dual intersect select * from t1);
      

  4.   

    chooser(chooser):
    我给分了,谢了哈。
    顺便问一下dual,intersect各是什么意思。
      

  5.   

    你好快啊,我刚从金华回杭州,在火车上无聊中,想起一个更精练的解法:
    insert into t1 (select 'a','b','c' from dual minus select * from t1);
    不过没有测试过。
    dual是一张虚拟的表,它永远只有一条记录;
    intersect 和minus都是集合运算符,表示交集和减法,可以看看这方面的介绍。