gpt4 book ai didi

tsql - t-sql 从带有变量名的字符串中获取变量值

转载 作者:行者123 更新时间:2023-12-03 21:28:04 24 4
gpt4 key购买 nike

有没有办法转换@my_variable字符串转换为值 @my_variable ?

我有一个存储变量名称的表。我需要获取这个变量的值。像这样的东西:

DECLARE @second_variable AS NVARCHAR(20);
DECLARE @first_variable AS NVARCHAR(20);
SET @first_variable = '20';
SET @second_variable = SELECT '@first_variable'; --here I want that @second variable be assigned a value of "20".

最佳答案

您可以使用 sp_executesql执行字符串(所以你可以做类似 sp_executesql 'SET @second_variable = ' + @name_of_variable; 的事情)。然而,仅仅将那个语句放入 sp_executesql 是行不通的,因为 strings executed with sp_executesql or EXECUTE have their own variable scope ,因此,@second_variable 和 @first_variable 都不可访问。

因此,您可以做的是将完整代码(不包括变量名称)移动到 sp_executesql 中。声明(未经测试):

DECLARE @name_of_variable NVARCHAR(MAX)
SET @name_of_variable = ...

EXECUTE sp_executesql N'...lots of code... ' + @name_of_variable + ' ...lots of code...'

关于tsql - t-sql 从带有变量名的字符串中获取变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2363405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com