Кто-нибудь знает о процедуре преобразования строки в оператор INSERT?

Кто-нибудь знает процедуру или скрипт, который будет генерировать любую строку в операторе вставки в ту же таблицу?

По сути, я хотел бы вызвать что-то вроде

exec RowToInsertStatement 'dbo.user', 45;

И следующий код будет output

insert into dbo.MyTable( FirstName, LastName, Position)
values( 'John', 'MacIntyre', 'Software Consultant');

Я понимаю, что могу

insert into dbo.MyTable
select * from dbo.MyTable where id=45;

Но это явно не сработает, потому что столбец ID будет жаловаться (надеюсь, он жалуется), и нет способа просто переопределить этот столбец без перечисления всех столбцов, а в некоторых таблицах может быть сотни.

Итак, знает ли кто-нибудь о процедуре, которая напишет для меня эту простую вставку?

РЕДАКТИРОВАТЬ 3:04 : Цель этого состоит в том, чтобы я мог сделать копию строки, чтобы после INSERT генерируется, я могу изменить его на что-то вроде

insert into dbo.MyTable( FirstName, LastName, Position)
values( 'Dave', 'Smith', 'Software Consultant');

.. нет, очевидно, что этот надуманный пример настолько прост, что не имеет смысла, но если у вас есть таблица с 60 столбцами, и все, что вам нужно, это изменить 3 или 4 ценностей, тогда это начинает доставлять хлопоты.

Есть ли в этом смысл?

5
задан John MacIntyre 21 September 2010 в 19:04
поделиться