プロシージャの先頭で GETDATE を使用して設定され、MERGE ステートメントを呼び出す日時変数を持つストアド プロシージャがあります。
何が起こるかというと、1 つの日付がスタンプされるのではなく、日付が定期的に変更されるということです。これは長時間実行されるプロセスです。
1 つの日付を取得し、すべての記録にその日付をスタンプする方法はありますか?
create proc MyProc as
declare @insertdate datetime
set @insertdate = getdate()
merge dbo.something as target
using (select col1,col2 from dbo.another) as source
on (target.col1 = source.col1 and target.col2 = source.col2)
when not matched by target
insert (col1, col2, insertdate) values (source.col1, souce.col2, @insertdate);