如何使用新变量进行更新
假设我想做以下事情
update T
set T.property1 = (declare @temp varch(20)
@temp = 'testing')
from #temp_table_name T
这可能吗。我需要更新一个表,但新元素是一系列复杂语句的最终结果,在处理中间输出的过程中定义一些变量会容易得多。我在上面尝试做的事情的正确语法是什么,因为它不起作用
如何使用新变量进行更新
假设我想做以下事情
update T
set T.property1 = (declare @temp varch(20)
@temp = 'testing')
from #temp_table_name T
这可能吗。我需要更新一个表,但新元素是一系列复杂语句的最终结果,在处理中间输出的过程中定义一些变量会容易得多。我在上面尝试做的事情的正确语法是什么,因为它不起作用
你在找这样的东西吗?
DECLARE @temp varchar(20)
SET @temp = 'testing, or the result of a query maybe?'
UPDATE T SET T.property1 = @temp
FROM #temp_table_name T
WHERE 1 = 1
将所有这些语句移动到标量值用户定义函数中,然后在您的更新语句中执行以下操作:
update T
set T.property1 = dbo.myUdf(...)
from #temp_table_name T
...
它可能需要从行中完成其工作的任何参数在哪里。