插入语句
insert into CardType (CardName,[Sign],Type,Slave,Status,TimeLimit,AnnualFee)
values ('至尊卡','10Aa','会员卡','0','0',12,6800) 
但还应该有一个条件,就是Sign不可以重复(Sign不是主健).
也就是说在插入之前,要查询表CardType,看有没有Sign和我要插入的'10Aa'相同的
如果有相同的,给个提示信息(这个也需要)
如果没有相同的,Ok,插入一条新记录^(&(&(*%$#@#%^...

解决方案 »

  1.   

    if exists(select 1 from CardType where [Sign]='10Aa')
    begin
          raiserror('插入值已存在',12,1)
    end
    else
    begin
          insert into CardType (CardName,[Sign],Type,Slave,Status,TimeLimit,AnnualFee)
          values ('至尊卡','10Aa','会员卡','0','0',12,6800) 
    end
      

  2.   

    能不能在一句话内实现? 类似
    insert into ... values ... where ....把条件和insert into合并在一起?
      

  3.   

    是这样的,我用Java去调用数据库,我不知道能不能写这么长的sql语句。
      

  4.   

    Statement stmt=conn.createStatement();
    String sql = "if exists(select 1 from CardType where [Sign]='10Aa') 
                  begin
                       raiserror('插入值已存在',12,1)
                  end
                  else
                  begin
                       insert into CardType (CardName, [Sign],Type,Slave,Status,TimeLimit,AnnualFee)
                       values ('至尊卡','10Aa','会员卡','0','0',12,6800) 
                  end";
                ResultSet rs =stmt.executeQuery(sql);
    这样的语句可以被执行吗?