2012-01-17 105 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

相关问题