Sql 如果不存在,则插入到表中,然后将重复记录插入到另一个表中

Sql 如果不存在,则插入到表中,然后将重复记录插入到另一个表中,sql,sql-server-2008,stored-procedures,Sql,Sql Server 2008,Stored Procedures,在过去的两天里,我正在编写一个存储过程,但我无法理解它 任务:我有一个表“table 1”,其中有一些行以“Appointment No”作为主要ID 还有另一个表“表1\u copy”,它与表1相同,不需要主键 我想在“表1”中插入“名字”和“姓氏”。但是,如果该记录已存在于“表1”中,则应将这些dup记录插入“表1”中,并将非dup记录插入“表1” 因此,简而言之,我在“表1”中插入新的“约会编号”的新记录,并将表1中已经存在的重复约会编号插入表1\u副本 我可以找出插入到如果不存在的部分,

在过去的两天里,我正在编写一个存储过程,但我无法理解它

任务:我有一个表“table 1”,其中有一些行以“Appointment No”作为主要ID

还有另一个表“表1\u copy”,它与表1相同,不需要主键

我想在“表1”中插入“名字”和“姓氏”。但是,如果该记录已存在于“表1”中,则应将这些dup记录插入“表1”中,并将非dup记录插入“表1”

因此,简而言之,我在“表1”中插入新的“约会编号”的新记录,并将表1中已经存在的重复约会编号插入表1\u副本

我可以找出插入到如果不存在的部分,但我正在努力捕获DUP并插入到“表1_copy”中

请帮帮我


提前感谢

类似于以下内容的内容应该会起作用:

IF NOT EXISTS (SELECT * FROM table_1 WHERE FirstName=@FirstName AND LastName=@LastName)
   INSERT INTO table_1 ... 
ELSE
   INSERT INTO table_1_copy ...

类似于以下的东西应该会起作用:

IF NOT EXISTS (SELECT * FROM table_1 WHERE FirstName=@FirstName AND LastName=@LastName)
   INSERT INTO table_1 ... 
ELSE
   INSERT INTO table_1_copy ...

我想你可以像下面这样做

 IF NOT EXTIST (SELECT 'X' FROM TABLE1 WHERE FirstName = @FirstName AND LastName =    @LastName)
 BEGIN
INSERT INTO TABLE1 (BLAH, BLAH)
 END
 ELSE
INSERT INTO TABLE1_COPY 
SELECT BLAH, BLAH FROM TABLE1 WHERE FirstName = @FirstName AND LastName = @LastName
 END

我想你可以像下面这样做

 IF NOT EXTIST (SELECT 'X' FROM TABLE1 WHERE FirstName = @FirstName AND LastName =    @LastName)
 BEGIN
INSERT INTO TABLE1 (BLAH, BLAH)
 END
 ELSE
INSERT INTO TABLE1_COPY 
SELECT BLAH, BLAH FROM TABLE1 WHERE FirstName = @FirstName AND LastName = @LastName
 END

您的一些措辞给我的印象是您的SP试图保存一组记录。是这样,还是您只提供了一个名/姓?您的一些措辞给我的印象是您的SP试图保存一组记录。是这样,还是您只提供了一个名/姓?