Вставить в таблицу, если не существует, а затем вставить дубликаты записей в другую таблицу - PullRequest
0 голосов
/ 12 октября 2011

Я пишу хранимую процедуру за последние 2 дня и не могу ее понять.

Задача: у меня есть таблица «таблица 1», в которой есть несколько строк с «Назначением №»"в качестве основного идентификатора.

Существует еще одна таблица" table 1_copy ", которая идентична таблице 1, причем первичный ключ не требуется.

Я хочу вставить «имя» и «фамилия» в «таблицу 1».Однако, если эта запись уже существует в "" таблице 1 ", то эти дублирующие записи должны быть вставлены в" tabel 1_copy ", а не дублирующиеся записи в" таблицу 1 "

Так что вкратце я вставляю новые записи с новым" Назначениемнет "в" таблице 1 "и повторяющаяся встреча" нет ", которая уже существует в таблице 1, в таблицу 1_copy.

Я мог бы найти вставку в, если НЕ СУЩЕСТВУЕТ ЧАСТЬ, но изо всех сил пытаюсь захватить дупс и вставить в"table 1_copy"

Пожалуйста, помогите мне.

Заранее спасибо

Ответы [ 2 ]

5 голосов
/ 12 октября 2011

Должно работать что-то вроде следующего:

IF NOT EXISTS (SELECT * FROM table_1 WHERE FirstName=@FirstName AND LastName=@LastName)
   INSERT INTO table_1 ... 
ELSE
   INSERT INTO table_1_copy ...
1 голос
/ 12 октября 2011

Я думаю, вы могли бы сделать что-то вроде ниже

 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...