Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以更改execute sp_executesql上的输入参数值吗?_Sql_Tsql_Dynamic Sql - Fatal编程技术网

我可以更改execute sp_executesql上的输入参数值吗?

我可以更改execute sp_executesql上的输入参数值吗?,sql,tsql,dynamic-sql,Sql,Tsql,Dynamic Sql,有人知道在执行sp_executesql期间是否可以更改输入变量吗 例如,我想将@var value更改为'bye' declare @var varchar(10) = 'hello' declare @Query nvarchar(max) = 'print @var set @var = ''bye'' print @var' EXEC SP_EXECUTESQL @Query, N'@var varchar(10)', @var -- Execute Query Statement

有人知道在执行sp_executesql期间是否可以更改输入变量吗

例如,我想将@var value更改为'bye'

declare @var varchar(10) = 'hello'
declare @Query nvarchar(max) = 'print @var set @var = ''bye'' print @var'

EXEC SP_EXECUTESQL @Query, N'@var varchar(10)', @var -- Execute Query Statement

print @var
上次我打印@var时,我希望它打印“再见”,但打印“你好”

在不声明输出变量的情况下可以实现我的目标吗


提前感谢

您必须使用
输出
参数:

declare @var varchar(10) = 'hello'
declare @Query nvarchar(max) = 'print @var set @var = ''bye'' print @var'
EXEC SP_EXECUTESQL @Query, N'@var varchar(10) output', @var output
print @var  -- This prints bye

请注意,输出既在变量声明中,也在
sp_executesql
的实际参数中。。。这很简单!非常感谢。