簡體   English   中英

如何在字符串中存儲帶有參數的SQL Proc名稱?

[英]How do I store a SQL Proc name with an argument in a string?

所有這些都在TSQL存儲過程中。 我有一個變量,其中包含要執行的存儲過程的名稱,直到現在,此方法僅用於不帶參數的存儲過程。 我正在使用troulbe裝配一個確實在同一個模具中引起爭論的proc。

在我的主驅動程序過程中,我有一行EXECUTE @process_name@process_name通常是類似'database..procedure'的東西,沒有任何用處。 如何將存儲的proc的名稱及其參數放入一個字符串中,以便當我調用EXECUTE @process_name ,它將使用參數執行該過程?

我根本無法更改此執行行,我真的需要將proc名稱和參數放入單個字符串@process_name中 我意識到這可能不是最佳做法。

謝謝你的幫助!

您在@process_name中輸入了相同的內容,就像在鍵入時一樣:

--Create your Stored Procedure
CREATE PROCEDURE dbo.YourStoredProc
    @FirstVariable VARCHAR(30),
    @SecondVariable VARCHAR(30)
AS
BEGIN
    SELECT @FirstVariable,@SecondVariable
END
GO


DECLARE @process_name VARCHAR(MAX);
--List the name of your stored procedure you want to execute
    --Followed by variables and their values
SET @process_name = 'dbo.YourStoredProc @firstvariable = ''Hello'', @SecondVariable = ''World!'''

EXEC (@process_name)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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