+ -
当前位置:首页 → 问答吧 → 一个存储过程参数连接问题

一个存储过程参数连接问题

时间:2011-10-21

来源:互联网

大家好,我遇到mysql 存储过程问题
大致如下
delimiter //
create procedure initial(in mac varchar(3),in flag varchar(3),in h0h1h2h3 vrachar(4))
begin

declare n int;
declare temp int;
declare i int;

set n = len(flag)
set temp = 0;
set i = 0

if n =1 then
set temp = 1000;
end if

while i < temp
insert into map (tldn) values(concat (mac, flag,h0h1h2h3,right(1000+i ,3)));
i := i + 1;
endwhile
end;
//
报insert into map (tldn) values(concat (mac, flag,h0h1h2h3,right(1000+i ,3)));错误
tldn 是 varchar(11) ,而flag是可能1,2,3位的字符串,以上代码是为一位的情况,我想把mac flag h0h1h2h3 和一个三位数字联合起来赋给tldn 列,
请大家多多指教

作者: qiuxinyidian   发布时间: 2011-10-21

h0h1h2h3是字符串?

作者: WWWWA   发布时间: 2011-10-21

insert into map (tldn) values(concat (mac, flag,'h0h1h2h3',right(1000+i ,3)));

作者: WWWWA   发布时间: 2011-10-21

错误 信息是什么? 单从语法上看没有问题。

作者: ACMAIN_CHM   发布时间: 2011-10-21

h0h1h2h3是他的传入参数

引用 2 楼 wwwwa 的回复:

insert into map (tldn) values(concat (mac, flag,'h0h1h2h3',right(1000+i ,3)));

作者: wfevgch   发布时间: 2011-10-21

varchar(11)不够吧,3+3+4+3 最大可能是13啊

作者: wfevgch   发布时间: 2011-10-21

create procedure initial(in mac varchar(3),in flag varchar(3),in h0h1h2h3 vrachar(4))

注意你的(是中文全角的,应该是英文半角 ()

作者: ACMAIN_CHM   发布时间: 2011-10-21

create procedure initial(in mac varchar(3),in flag varchar(3),in h0h1h2h3 vrachar(4))

错误确认你贴出的代码报错信息是 报insert into map (tldn) values(concat (mac, flag,h0h1h2h3,right(1000+i ,3)));错误 

???!!!!


问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧)

作者: ACMAIN_CHM   发布时间: 2011-10-21

相关阅读 更多

热门下载

更多