SQL中有关if-else语句的语法错误
关于else语句的语法,我有一个错误 这是我的密码SQL中有关if-else语句的语法错误,sql,sql-server,tsql,Sql,Sql Server,Tsql,关于else语句的语法,我有一个错误 这是我的密码 DECLARE @var VARCHAR(20) = (SELECT TOP 1 name FROM store2) DECLARE @i int = 1 DECLARE @incr int DECLARE @y VARCHAR(20) WHILE @i < 5 BEGIN SET @y = (SELECT name FROM store1 WHERE id = @i); IF @y = @var
DECLARE @var VARCHAR(20) = (SELECT TOP 1 name FROM store2)
DECLARE @i int = 1
DECLARE @incr int
DECLARE @y VARCHAR(20)
WHILE @i < 5
BEGIN
SET @y = (SELECT name FROM store1 WHERE id = @i);
IF @y = @var
SET @incr = (SELECT count FROM store1 WHERE id = @i)+1
PRINT N'TRUE';
ELSE
PRINT 'FALSE';
SET @i = @i + 1
END
适当缩进一点,错误就会变得非常明显:
DECLARE @var VARCHAR(20) = (SELECT TOP 1 name FROM store2)
DECLARE @i int = 1
DECLARE @incr int
DECLARE @y VARCHAR(20)
WHILE @i < 5
BEGIN
SET @y = (SELECT name FROM store1 WHERE id = @i);
IF @y = @var
SET @incr = (SELECT count FROM store1 WHERE id = @i)+1
PRINT N'TRUE';
ELSE
PRINT 'FALSE';
SET @i = @i + 1
END
如果在If之后有多个语句,则必须使用BEGIN。。。。结束块。。。
IF @y = @var
BEGIN
SET @incr = (SELECT count FROM store1 WHERE id = @i)+1
PRINT N'TRUE';
END
ELSE
PRINT 'FALSE';