读书人

sql 存储过程 语法 把2个定义的字符串

发布时间: 2012-01-18 00:23:26 作者: rapoo

sql 存储过程 语法 把2个定义的字符串合并成一个字符串
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 '@语文' & @i is not null
set @语文总1 = '@语文' & @i +@语文总1
set @i=@i+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 '@语文'  is not null or @i is nullbegin  set @语文总1 = '@语文' & ltrim(@i) +@语文总1set @i=@i+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 +@语文2+@语文3end 

读书人网 >SQL Server

热点推荐