我有一個插入存儲過程與增加Id(int
)。我想採取Id
並將其插入到另一個表中,也是插入存儲過程中的一個變量。SQL Server觸發器 - 從第一個插入存儲過程獲取變量?
我知道你可以做select from inserted
,但如果我沒有錯,允許你從inserted
行中選擇值。
有沒有辦法在執行存儲過程後繼續執行變量並將其傳遞給觸發器?
編輯:對不起,讓我包括我正在使用的存儲過程。表foo有一個自動增加的Id,我想要一個觸發器在存儲過程運行後將foo的Id和@mid插入到另一個表中。但是,你可以看到@mid沒有被插入到表foo中。
ALTER PROCEDURE [dbo].[foo]
@userName varchar(50),
@somefoo varbinary(max),
@mid int
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO fooTable(UserName, SomeFoo)
VALUES (@userName, @somefoo);
END
你能顯示你的代碼嗎? –
'inserted'和'deleted'是表格,以便它們可以表示設置操作的結果。假設它們總是包含一行,設計一個觸發器通常是一個糟糕的計劃。插入的表格將包含「IDENTITY」列的值(如果有的話)。 – HABO
可以添加代碼示例(或者可能是僞代碼示例)來說明您正在嘗試執行什麼操作? –