在存储过程中调用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/else 是判断真假的,没有赋值的变量无法判断。所以报错,另外,下次别搞图片,想帮你测还要自己写代码
------其他解决方案--------------------
begin
if @F=@B
insert into ...
else
begin
if @F=@C
insert into ...
else
insert into ...
end
end
------其他解决方案--------------------
贴图片 你太有才了...
------其他解决方案--------------------
create PROCEDURE [dbo].[K_means_2]
as
declare @B float,@C float,@D float,@F float;
begin