如何将变量/参数作为数据类型传递?

时间:2015-10-21 22:42:40

标签: sql sql-server sql-server-2008

我希望能够将我的数据类型和其他值更改为变量或参数,以便可以轻松更改和传递。

declare @datatype nvarchar(20) = 'datetime'
declare @inputvalue nvarchar(20) = '2015-10-21'
declare @variable @datatype = @inputvalue
exec spStoredProcedure @StoredProcedureParam = @variable

1 个答案:

答案 0 :(得分:0)

您需要在存储过程中使用动态sql,例如....

declare @datatype nvarchar(20) = 'datetime'
declare @inputvalue nvarchar(20) = '2015-10-21'


    -- Inside your proc you would do something like.....

Declare @Sql NVARCHAR(MAX);

SET @Sql = N' Declare @variable '+ QUOTENAME(@datatype) + N' = @inputvalue '
         + N' Select @variable AS VariableValue'

Exec sp_executesql @Sql
                 ,N'@inputvalue nvarchar(20)'
                 ,@inputvalue