SQL执行向表中插入数据的存储过程,如何判断重复字段代码:
CREATE PROCEDURE test
(@ID INT)
 AS
BEGIN
INSERT INTO test1(test2ID,name) 
select * from test2 where test2ID=@ID
END
select * from test1
GOtest1表中有自己的ID,表test2中就两个字段test2ID和name,我想根据条件判断插入表test1的时候test2ID相同就不在插入了,怎么做??????求大虾指点!!!

解决方案 »

  1.   


    INSERT INTO test1(test2ID,name) 
    select * from test2 where test2ID=@ID 
    and not exists(select 1 from Test1 where test2ID=@ID)
      

  2.   

    代码:
    CREATE PROCEDURE test
    (@ID INT)
     AS
    BEGIN
    if not exsit select * from test1 where id=@ID
    INSERT INTO test1(test2ID,name)  
    select * from test2 where test2ID=@ID
    END
    select * from test1
    GO
      

  3.   

    orINSERT INTO test1(test2ID,name) 
    select * from test2 where test2ID=@ID 
    and not exists(select 1 from Test1 where test2ID=Test2.test2ID)
      

  4.   


    CREATE PROCEDURE test
    (@ID INT)
    AS
    BEGIN
    if not exists(select 1 from test2 where test2ID=@ID)
    begin
     INSERT INTO test1(test2ID,name)  
     select * from test2 where test2ID=@ID
    end
    END
      

  5.   

    INSERT INTO test1(test2ID,name)  
    select * from test2 where test2ID=@ID
    and not exists(select 1 from test1 where test1.test2ID=test2.test2ID)
      

  6.   

    CREATE PROCEDURE test
    (@ID INT)
     AS
    BEGIN
     if not exists(select 1 from test1 where test2ID=@ID)
         INSERT INTO test1(test2ID,name)  
             select * from test2 where test2ID=@ID
    END
    select * from test1
    GO
      

  7.   

    INSERT INTO test1(test2ID,name)  
    select * from test2 t where test2ID=@ID and not exists(select 1 from test1 where test2ID=t.test2ID)