【发布时间】:2013-09-15 17:05:32
【问题描述】:
我正在尝试在 mySQL 中创建函数,但收到一条错误消息:UNDEFINED Cursor :REVERSE。
下面是我的代码:
create function check_data (v_dcrpath VARCHAR(4000)) RETURNS VARCHAR(4000)
BEGIN
DECLARE v_dcrpath_value varchar(1000);
DECLARE REVERSE CURSOR FOR select_statement
OPEN REVERSE 1..length(v_dcrpath)
loop
if substr(v_dcrpath,i,1) = '/' then
v_dcrpath_value := substr(v_dcrpath, i+1);
exit;
end if;
end loop;
IF v_dcrpath_value = 'data' then
return 'true';
else
return 'false';
end if;
fetch into;
end;
close ;
任何建议
【问题讨论】:
-
这是要查找路径中最后一个名为 data 的文件夹吗?
-
MySQL 和 PL/SQL 非常不同,因此您需要重写一些逻辑。例如,MySQL 不支持
..范围运算符。 -
是的,我正在尝试使用函数获取最后一个文件夹路径,但找不到正确的代码。
-
Like '%/data' 或 like '%/data/%' 怎么样?
-
它不适用于此示例数据。 /templatedata/composite-item/page/data/3_Local/EU/fr_BE/aqws_dddddd_fr_BE_8004 | | /templatedata/composite-item/page/data/3_Local/EU/fr_BE/Electronics/rvw_fr_BE_12238 | | /templatedata/composite-item/page/data/3_Local/EU/fr_BE/Localtest_fr_BE_12153 | | /templatedata/composite-item/page/data/3_Local/EU/fr_BE/newdcrvalid_fr_BE_12417 | | /templatedata/composite-item/page/data/3_Local/EU/fr_BE/page_load_3_fr_BE_11 | | /templatedata/composite-item/page/data/3_Local/EU/fr_BE/ss1_fr_BE_12051 |
标签: mysql sql stored-procedures