1

如何使用新变量进行更新

假设我想做以下事情

update T
set T.property1 = (declare @temp varch(20)
                           @temp = 'testing')
from #temp_table_name T

这可能吗。我需要更新一个表,但新元素是一系列复杂语句的最终结果,在处理中间输出的过程中定义一些变量会容易得多。我在上面尝试做的事情的正确语法是什么,因为它不起作用

4

2 回答 2

4

你在找这样的东西吗?

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
于 2013-10-09T13:13:06.510 回答
3

将所有这些语句移动到标量值用户定义函数中,然后在您的更新语句中执行以下操作:

update T
set T.property1 = dbo.myUdf(...)
from #temp_table_name T

...它可能需要从行中完成其工作的任何参数在哪里。

于 2013-10-09T13:11:08.873 回答