Как лучше написать SQL SPROC для клонирования строк таблицы, но с изменением полей выбора - PullRequest
0 голосов
/ 05 августа 2010

Допустим, у меня есть следующая таблица

fID Field1  Field2
1   a       dennis
1   f       mac 
2   j       clownbaby
1   k       charlie
3   t       frank
7   d       dee

и я хочу взять все строки с 1 в первом столбце и вставить их в одну таблицу с номером, который я мог бы выбрать в качестве аргумента моей хранимой процедуры. Так что если бы я назвал мою хранимую процедуру rowClone (1,8), я бы получил таблицу с

fID Field1  Field2
1   a       dennis
1   f       mac 
2   j       clownbaby
1   k       charlie
3   t       frank
7   d       dee
8   a       dennis
8   f       mac
8   k       charlie

1 Ответ

1 голос
/ 05 августа 2010
Create Procedure RowClone(@fIDToClone int, @newFID int)
As
Insert Table(fID, Field1, Field2)
Select @newFID, Field1, Field2
From Table
Where fID = @fIDToClone

Возможно, вы захотите добавить дополнительную проверку, которая гарантирует, что подпрограмма не создает дубликаты.Однако вы не упомянули, какие уникальные ключи существуют в таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...