2

私は何かをしたい

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 のフィールドを持つ多数のテーブルがあります。

4

1 に答える 1

1

いいえ、ありません。* 構文を使用することは、メンテナンスが困難な壊れやすいコードになるため、とにかく悪い習慣です。

ただし、SSMS では、テーブルの下の列フォルダーをエディターにドラッグ アンド ドロップして、そのテーブルのすべての列のコンマ区切りリストを取得できます。これにより、入力が少し簡単になります。:)

于 2013-01-09T02:52:00.230 に答える