首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个变量的多个赋值sql server select语句

多个变量的多个赋值sql server select语句
EN

Stack Overflow用户
提问于 2013-12-05 07:40:37
回答 2查看 295关注 0票数 1

在SQL Server的select语句中,是否可以在单个条件下赋值多个变量(对于动态sql来说,我太愚蠢了):

例如,在Visual Basic或许多其他语言中,您可能具有

如果为x=1,则z=4 y=2 End If

我不认为CASE是可行的,因为我认为你只能赋值给一个变量。

EN

回答 2

Stack Overflow用户

发布于 2013-12-05 12:29:31

诀窍是,如果你可以在一行上完成赋值,那么你就不需要像其他人建议的那样使用BEGIN/END块。尽管事情会开始变得丑陋。这里有一些实现你想要的东西的例子:

代码语言:javascript
运行
复制
-- using set syntax on one line
declare @x int, @y int , @z int
set @x=1
IF @x=1 set @y=2 set @z=4
print 'y:' + cast(@y as varchar) + ' z:' + cast(@z as varchar)
GO

-- using select syntax, a little prettier on one line
declare @x int, @y int , @z int
set @x=1
IF @x=1 SELECT @y=2,@z=4
print  'y:' + cast(@y as varchar) + ' z:' + cast(@z as varchar)
GO
-- using being/end
declare @x int, @y int , @z int
set @x=1
IF @x=1 
BEGIN
    set @y=2
    set @z=4
END
print 'y:' + cast(@y as varchar) + ' z:' + cast(@z as varchar)
票数 3
EN

Stack Overflow用户

发布于 2013-12-05 09:10:06

将赋值放在BEGIN中...结束

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20405838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档