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

mysql 在创建function出错 急用!求指教

2012-10-19 
mysql 在创建function出错 在线等 急用!求指教BEGINdeclaresqlt varchar(500)update mn_ammeter set STRA

mysql 在创建function出错 在线等 急用!求指教
BEGIN

 declare sqlt varchar(500);
  update mn_ammeter set STRADDRESS=replace(STRADDRESS,'\\','/') where STRADDRESS like '%\%';
   
  update mn_ammeterdisplaytype set strname=replace(strname,chr(10),'') where strname like '%'||chr(10)||'%';
   
  UPDATE mn_box set straddress = replace(straddress,chr(10 ),'') where straddress like '%'||chr(10)||'%';

  sqlt:='UPDATE '||tableName||' set '||fieldNmae|| ' = replace('||fieldNmae|| ',chr(10), ' ' ' ' ) where '||fieldNmae|| ' like ''%'||chr(10)||'%'';
   
  return 0;
end;

[解决办法]
换成set sqlt='UPDATE '||tableName||' set '||fieldNmae|| ' = replace('||fieldNmae|| ',chr(10), ' ' ' ' ) where '||fieldNmae|| ' like ''%'||chr(10)||'%'';
看看

探讨
出现如下的错误

you have an error in your sql syntax; check the manual that corresponds to your mysql server version for the right syntax to use near ' sqlt:='UPDATE '||tableName||' set '||fieldNmae|| ' = ……

[解决办法]
||->CONCAT
你是在MYSQL命令行下输入?
delimiter $$
create function ...
$$
delimiter ;
[解决办法]
set @asql=你的SQL语句;
prepare stml from @asql;
execute stml;
[解决办法]
引用set @asql=你的SQL语句;
prepare stml from @asql;
execute stml;

热点排行