[英]Using Variables Passing Into MSSQL Stored Proc as part of queries
我想使用傳遞給存儲過程的變量的值。 那允許嗎?
例如,我想將 CID=5,SID=4 傳遞給更新存儲過程
它看起來像這樣:
CREATE PROCEDURE Update @CID nvarchar(4),@SID nvarchar(4)
AS
DELETE FROM [User"+@CID+@SID+"]
GO;
其中就像“DELETE FROM [User54]”
但是我想在給定參數的情況下動態完成
能不能做到,怎么做到的?
謝謝
您必須使用動態 SQL。為了安全地執行此操作,請確保使用引號 function 正確分隔創建的object名稱。
像這樣:
CREATE OR ALTER PROCEDURE UpdateSomeTable @CID nvarchar(4), @SID nvarchar(4)
AS
begin
declare @tableName nvarchar(500) = quotename(concat('User',@CID,@SID));
declare @sql nvarchar(max) = concat('DELETE FROM ',@tableName);
--print @sql
exec sp_executesql @sql
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.