--累加1到100
DECLEARE @sum SMALLINT, @i SMALLINT
SET @i=1
SET @sum =0
BEG:
IF ( @i<=100)
BEGIN
SET @sum=@sum+@i
SET @i=@i+1
GOTO BEG
END
PRINT @sum /*消息
消息 137,级别 15,状态 2,第 1 行
必须声明标量变量 "@sum"。
消息 137,级别 15,状态 1,第 2 行
必须声明标量变量 "@i"。
消息 137,级别 15,状态 1,第 3 行
必须声明标量变量 "@sum"。
消息 137,级别 15,状态 2,第 5 行
必须声明标量变量 "@i"。
消息 137,级别 15,状态 2,第 7 行
必须声明标量变量 "@sum"。
消息 137,级别 15,状态 2,第 8 行
必须声明标量变量 "@i"。
消息 137,级别 15,状态 2,第 11 行
必须声明标量变量 "@sum"。
DECLEARE @sum SMALLINT, @i SMALLINT
SET @i=1
SET @sum =0
BEG:
IF ( @i<=100)
BEGIN
SET @sum=@sum+@i
SET @i=@i+1
GOTO BEG
END
PRINT @sum /*消息
消息 137,级别 15,状态 2,第 1 行
必须声明标量变量 "@sum"。
消息 137,级别 15,状态 1,第 2 行
必须声明标量变量 "@i"。
消息 137,级别 15,状态 1,第 3 行
必须声明标量变量 "@sum"。
消息 137,级别 15,状态 2,第 5 行
必须声明标量变量 "@i"。
消息 137,级别 15,状态 2,第 7 行
必须声明标量变量 "@sum"。
消息 137,级别 15,状态 2,第 8 行
必须声明标量变量 "@i"。
消息 137,级别 15,状态 2,第 11 行
必须声明标量变量 "@sum"。
SET @i=1
SET @sum =0
BEG:
IF ( @i<=100)
BEGIN
SET @sum=@sum+@i
SET @i=@i+1
GOTO BEG
END
PRINT @sum
SET @i=1
SET @sum =0
WHILE ( @i<=100)
BEGIN
SET @sum=@sum+@i
SET @i=@i+1
END
PRINT @sum
SET @i=1
SET @sum =0
BEG:
IF ( @i<=100)
BEGIN
SET @sum=@sum+@i
SET @i=@i+1
GOTO BEG
END
PRINT @sum
DECLARE 还有逗号是英文状态下的。
WHILE ( @i<=100)
BEGIN
SET @sum=@sum+@i
SET @i=@i+1
END
PRINT @sum
@sum SMALLINT=0
,@ibegin SMALLINT=1
,@ibend SMALLINT=100set @sum=(@ibegin+@ibend)*(@ibend-@ibegin+1)/2
PRINT @sum
推荐使用while
程序更清晰明了
SET @i=1
SET @sum =0
--BEG:
while ( @i<=100)
BEGIN
SET @sum=@sum+@i
SET @i=@i+1
--GOTO BEG
END
PRINT @sum
SQL 是区分大小写的么?