0

今日のスケジュールされたアイテムを取得してレコードを複製し、ほとんどのデータを保持し、いくつかのフィールドにいくつかの変更を加えたいカレンダーテーブルがあります。これは正常に機能します。

問題は、ストアド プロシージャの呼び出しにあります。別のテーブルに別のレコードを作成し、スコープ 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
4

1 に答える 1