今日のスケジュールされたアイテムを取得してレコードを複製し、ほとんどのデータを保持し、いくつかのフィールドにいくつかの変更を加えたいカレンダーテーブルがあります。これは正常に機能します。
問題は、ストアド プロシージャの呼び出しにあります。別のテーブルに別のレコードを作成し、スコープ ID ID を返す必要があります。
sp inserts は Update から挿入されたデータを取得し、それを使用して新しいレコードを作成し、スコープ ID を返します。
関数を使用してみましたが、挿入が好きではありません。このステートメント内でこの sp を呼び出すにはどうすればよいですか?
UPDATE calendar_tbl
SET WO=0
OUTPUT
inserted.startDate,
dateadd(ss, 0, inserted.startDate),
inserted.text,
inserted.color,
inserted.tColor,
dbo.funcEpoch(inserted.startDate),
'',
inserted.id,
exec dbo.sp_create @AccountNumber,inserted.CompanyID ,inserted.LocationID, inserted.text,inserted.startDate, dateadd(ss, 0, inserted.startDate), inserted.UserID,'',
inserted.UserID,
inserted.LocationID,
inserted.CompanyID,
inserted.AccountNumber,
0
INTO
calendar_tbl(
startDate,
endDate,
text,
color,
tColor,
evLength,
rtype,
PID,
WOID,
UserID,
LocationID,
CompanyID,
AccountNumber,
WOorSchedule)
WHERE
(SELECT CONVERT(VARCHAR, startDate, 101)) = (SELECT CONVERT(VARCHAR, getdate(), 101)) AND
accountNumber = @AccountNumber