我需要使用在存儲過程中聲明的臨時變量。我需要使用此變量來分配一個值,並在匹配語句中執行一些功能。我如何使用?有沒有其他的方式來有價值?如何在SQL Server 2008中的MERGE語句中聲明一個臨時變量?
在此先感謝
我需要使用在存儲過程中聲明的臨時變量。我需要使用此變量來分配一個值,並在匹配語句中執行一些功能。我如何使用?有沒有其他的方式來有價值?如何在SQL Server 2008中的MERGE語句中聲明一個臨時變量?
在此先感謝
這是你如何定義SQL Server中的局部變量:如果你聲明MERGE
聲明之前,那麼你的確可以使用MERGE
內的變量的變量
DECLARE @MyVariable INT
SET @MyVariable = 12
SELECT HouseNumber + @MyVariable as NewHouseNumber FROM MyTable WHERE Id = 1
聲明。這適用於表變量以及標量變量。
我覺得他彪這樣的事情
MERGE TargetTable as tar
USING SourceTable as src
ON tar.SomeID = src.OtherID
DECLARE @BossId INT
SET @BossId = (SELECT ID FROM EmployeeTable WHERE [BossID] = src.BossID)
--Here we take dynamicly an ID from another table
WHEN NOT MATCHED THEN
INSERT (list OF fields, [BossID])
VALUES (list OF values, @BossId)
WHEN MATCHED THEN
UPDATE
SET (list OF SET statements);
這樣在每一個INSERT語句都會有不同的BossID。這甚至有可能嗎?如果沒有 - 如何以這種方式插入記錄?想象一下,SourceTable(在我的情況下是SP中的一個輸入參數)帶有需要與另一個Talbe映射的ID。有什麼建議麼?
我的文章更像是對原始問題的補充。