2012-01-17 38 views
-1

我似乎找不到任何特定於我想要做的事情。 是否有可能將動態參數傳遞給像這樣的sp?傳遞給存儲過程的動態參數

CREATE DBO.STOREDPROC 
(
@PARAM1 nvarchar(20) 
@PARAM2 nvarchar(20) 
) 

其中@PARAM1@PARAM2將被定義並且基於用戶輸入的表中選擇。

讓我澄清一下,我想達到的是如下。從用戶的輸入設s說的一個選項,如果一個選擇通過將@param1@param2,如果選擇@param3@param4將要傳遞的參數。

我不知道如果SQL提供的功能,以確定哪些參數在運行時通過基於用戶輸入

+0

您使用的是哪種數據庫技術?我猜SQL Server。 – JStead 2012-01-17 04:24:19

+0

是的。你的例子就是你如何做到的。 – RBarryYoung 2012-01-17 04:54:01

+1

我不明白你在問什麼。並非所有參數都是「動態的」?或者你的意思是你想要即時定義參數名稱和類型?一個例子會有所幫助。 – RickNZ 2012-01-17 08:35:08

回答

1
create procedure dbo.STOREDPROC 
(
@PARAM1 nvarchar(20), 
@PARAM2 nvarchar(20) 
) 

需要在關鍵字程序逗號參數之間...

2

我不知道我是否正確理解你的問題......你只是要求這個嗎?

-- get the data 
declare @param1 nvarchar(20) 
declare @param2 nvarchar(20) 

select @param1 = SomeColumn, @param2 = SomeOtherColumn 
from SomeTable 
where SomeInput = 'user input' 

-- execute the proc 
exec dbo.STOREDPROC @param1, @param2 
+0

嗨,讓我澄清一下,我想達到的是如下。 – user1153057 2012-01-18 01:38:43

相關問題