簡體   English   中英

使用傳遞到 MSSQL 存儲過程的變量作為查詢的一部分

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM