下面创建的函数过程,哪个地方不对?
DROP FUNCTION IF EXISTS fn_isreplace;
delimiter //
Create function fn_isreplace
(`update` datetime,timezone int)
returns int
begin
declare `curtime` datetime;
declare curlttime datetime;
declare curutctime datetime;
declare re_sec int;
set `curtime` = NOW();
set curutctime = CONVERT_TZ(NOW(),'+08:00','+00:00');
if `update` <> 0 then
begin
if timezone >= 1 then
set `curtime` = CONVERT_TZ(NOW(),'+08:00','+00:00');
else
begin
if curutctime - curlttime = 0 then
set `curtime` = curutctime;
else
set `curtime` = curlttime;
end if;
end;
end if;
set re_sec = Round(Cast((`update` - `curtime`) as decimal),0);
end;
else
set re_sec = 0;
end if;
return re_sec;
end//
delimiter ;
DROP FUNCTION IF EXISTS fn_isreplace;
delimiter //
Create function fn_isreplace
(`update` datetime,timezone int)
returns int
begin
declare `curtime` datetime;
declare curlttime datetime;
declare curutctime datetime;
declare re_sec int;
set `curtime` = NOW();
set curutctime = CONVERT_TZ(NOW(),'+08:00','+00:00');
if `update` <> 0 then
begin
if timezone >= 1 then
set `curtime` = CONVERT_TZ(NOW(),'+08:00','+00:00');
else
begin
if curutctime - curlttime = 0 then
set `curtime` = curutctime;
else
set `curtime` = curlttime;
end if;
end;
end if;
set re_sec = Round(Cast((`update` - `curtime`) as decimal),0);
end;
else
set re_sec = 0;
end if;
return re_sec;
end//
delimiter ;
解决方案 »
- 关于pgAdmin的问题,希望懂postgerSQL的进。。。。。。。。。
- 在设计一个小表存三条记录还是用已存在的某个大表存三条记录,如何选择
- 用navicat连接mysql数据库失败,DOS下却成功(百度2天,至今没解,内附超详细描述,只求一解)
- 杯具。。继续字符集·~~~
- 如果用phpmyadmin删除了root用户会如何
- 这是什么问题??各位看看!!
- redhat7.2,mysql4.x下如何把最大连接数设置到1000以上?
- 好像有个基于网页的Mysql管理界面,不知道叫什么,在哪里能下载?
- 如何才能把mysql的安装放到软件的安装程序中
- 貌似是行列转换问题,求助大神
- Mysql存储过程入口参数可否设默认值?
- MYSQL在函数不能用SELECT语句?
运行后出错提示:SQL Error(1064):You have an error in your SQL syntax;check the manual that corresponds to your MySQL server version for the right syntax to user near '' at line 20.
说明下,
我的Line 20代码是:
set `curtime` = CONVERT_TZ(NOW(),'+08:00','+00:00');
else
mysql> DROP FUNCTION IF EXISTS fn_isreplace;
Query OK, 0 rows affected, 1 warning (0.05 sec)mysql> delimiter //
mysql> Create function fn_isreplace
-> (`update` datetime,timezone int)
-> returns int
-> begin
-> declare `curtime` datetime;
-> declare curlttime datetime;
-> declare curutctime datetime;
-> declare re_sec int;
-> set `curtime` = NOW();
-> set curutctime = CONVERT_TZ(NOW(),'+08:00','+00:00');
->
-> if `update` <> 0 then
-> begin
-> if timezone >= 1 then
-> set `curtime` = CONVERT_TZ(NOW(),'+08:00','+00:00');
-> else
-> begin
-> if curutctime - curlttime = 0 then
-> set `curtime` = curutctime;
-> else
-> set `curtime` = curlttime;
-> end if;
-> end;
-> end if;
-> set re_sec = Round(Cast((`update` - `curtime`) as decimal),0);
-> end;
-> else
-> set re_sec = 0;
->
-> end if;
-> return re_sec;
-> end//
Query OK, 0 rows affected (0.05 sec)mysql> delimiter ;
mysql>
没有发现错误。
注释符的原因?