首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-01-18 
sql 存储过程 语法 把2个定义的字符串合并成一个字符串CREATE PROCEDURE proc_inforin(@语文1 [float],@语

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 

热点排行