如何在T-SQL中将变量赋值与数据检索操作相结合
-
04-07-2019 - |
题
为了澄清,我正在运行Sybase 12.5.3,但我也相信这也适用于SQL Server 2005。基本上,我正在尝试编写一个看起来有点像这样的查询,我已经尽可能简化它以突出显示问题:
DECLARE @a int, @b int, @c int
SELECT
@a = huzzah.a
,@b = huzzah.b
,@c = huzzah.c
FROM (
SELECT
1 a
,2 b
,3 c
) huzzah
此查询给出了以下错误:"错误:141为变量赋值的SELECT语句不得与数据检索操作结合使用。“
到目前为止,我唯一能解决的问题是将派生表数据插入临时表中,然后再将其选中。哪个工作正常,但这不起作用的事实让我感到烦恼。有更好的方法吗?
解决方案
其他提示
我刚刚针对12.5.3运行你的代码并且它解析得很好......除了确实运行之外没有返回任何内容。您是否可能将问题简化得太多,因为我根本没有看到任何错误消息。
为了清楚起见,以下内容会运行并返回您期望的内容。
DECLARE @a int, @b int, @c int
SELECT
@a = huzzah.a
,@b = huzzah.b
,@c = huzzah.c
FROM (
SELECT
1 a
,2 b
,3 c
) huzzah
select @a
select @b
select @c
不隶属于 StackOverflow