有没有人知道一个proc或脚本会生成插入语句到同一个表中的任何行?有没有人知道proc将一行变成INSERT语句?
基本上,我想打电话像
exec RowToInsertStatement 'dbo.user', 45;
而下面的代码将输出
insert into dbo.MyTable(FirstName, LastName, Position)
values('John', 'MacIntyre', 'Software Consultant');
我知道我可以
insert into dbo.MyTable
select * from dbo.MyTable where id=45;
但这显然赢了没有用,因为ID列会抱怨(我希望它抱怨),并且没有办法只是覆盖那个c没有列出所有列的olumn,在一些表中可能有数百个。
那么,有没有人知道一个proc会为我写这个简单的插入?
编辑3:04:这样做的目的是这样我就可以使该行的副本,所以产生INSERT后,我可以修改成类似
insert into dbo.MyTable(FirstName, LastName, Position)
values('Dave', 'Smith', 'Software Consultant');
..没有显然这个例子非常简单,没有任何意义,但是如果你有一个60列的表格,并且你需要的只是改变3或4个值,那么它开始变得很麻烦。
这有道理吗?
我再次更新了我的答案! :) – 2010-09-21 19:39:06