当前位置: 代码迷 >> Sql Server >> sql 存储过程 语法 把2个定义的字符串合并成一个字符串,该怎么处理
  详细解决方案

sql 存储过程 语法 把2个定义的字符串合并成一个字符串,该怎么处理

热度:410   发布时间:2016-04-27 17:20:42.0
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 [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
  相关解决方案