我可以在SQL Server的select语句中在单个条件下分配多个变量(我对动态sql来说太愚蠢了):
例如,在Visual Basic中或您可能拥有的许多其他语言
如果x = 1那么 Z = 4 Y = 2 如果
结束我不认为CASE有效,因为我认为你只能分配一个变量。
答案 0 :(得分:3)
诀窍在于,如果你可以在一行中完成任务,那么你就不需要像其他人所建议的那样使用BEGIN / END块。虽然事情会开始变得难看。这里有一些实现你想要的例子:
-- 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)
答案 1 :(得分:1)
将作业包裹在BEGIN ... END
中