我想做点什么
use mydb
go
begin tran
merge dbo.aTestTarget as T
using dbo.aTestSource as S
on (T.link = S.link)
when not matched by target and (s.code like '*I%') then
-- is there a way to do this sort of thing?
insert (T.*) values (S.*)
when matched and ...
rollback tran
go
有没有办法在没有定义每列的情况下执行此操作?我有很多20到50个字段的表格。
答案 0 :(得分:1)
不,没有。无论如何,使用*语法是一种不好的做法,因为它会导致难以维护的脆弱代码。
但是,在SSMS中,您可以将表下的Columns文件夹拖放到编辑器中,以获得该表的所有列的逗号分隔列表。这使得输入更容易一些。 :)