急!在存储过程中调用IF else 语句 提示语法错误。
在存储过程中调用IF else 语句 提示语法错误。代码如下:
提示:消息 102,级别 15,状态 1,过程 K_means_2,第 10 行
'@F' 附近有语法错误。即就是 if 语句处有问题。
[最优解释]
create PROCEDURE [dbo].[K_means_2]
as
begin
declare @B float,@C float,@D float,@F float;
if @F=@B
insert into new_table values(1,2)
else
begin
if @F=@C
insert into new_table values (3,5)
else
if @F=@D
insert into new_table values (8,5)
end
end
[其他解释]
CREATE PROCEDURE [dbo].[K_means_2]
AS
DECLARE @B FLOAT ,
@C FLOAT ,
@D FLOAT ,
@F FLOAT
SET @b = 0
SET @c = 0
SET @d = 0
SET @f = 0
BEGIN
IF @F = @B
INSERT INTO new_table
VALUES ( 1, 2 )
ELSE
IF @F = @C
INSERT INTO new_table
VALUES ( 3, 5 ) ;
ELSE
IF @F = @D
INSERT INTO new_table
VALUES ( 8, 5 ) ;
END
go
if @F=@B
insert into new_table values(1,2)
else if @F=@C
insert into new_table values (3,5);
else @F=@D
insert into new_table values (8,5);
end
go
[其他解释]
存储过程编译就不通过