CREATE PROCEDURE proc_inforin
(
@语文1 [float],@语文2 [float],@语文3 [float],
)
as
BEGIN
DECLARE @语文总1 [float];
declare @i [int];
set @i=1
while @i<=3
begin
if [email protected]' & @i is not null
set @语文总1 = [email protected]' & @i [email protected]
set @[email protected]+1
end
INSERT INTO [zongchenjibiao].[dbo].[zongchenjibiao]
[语文1],[语文2],[语文3],[语文总1]
VALUES(
@语文1,@语文2,@语文3,@语文总1,
)
END
GO
连接字符是用 & 还是+ 还是什么 还是不可以这么做。。。等等 会提示的错误 @语文 转化为int 失败;;;@i转化为float失败等等
------解决方案--------------------
- SQL code
--这里应该是CREATE PROCEDURE proc_inforin(@语文1 [float],@语文2 [float],@语文3 [float])asBEGINDECLARE @语文总1 varchar(8000)declare @i [int]set @i=1 while @i<=3if [email protected]' is not null or @i is nullbegin set @语文总1 = [email protected]' & ltrim(@i) [email protected]set @[email protected]+1 endend
------解决方案--------------------
- SQL code
CREATE PROCEDURE proc_inforin([@语文1] float=0.0,[@语文2] float=0.0,[@语文3] float=0.0)asBEGINDECLARE [@语文总1] floatset @语文总1 = @语文1 [email protected][email protected]end