create function isDate_2
(
v_date varchar(10) --参数,yyyy-mm-dd
)returns int
language sql
begin atomic
--变量定义
declare Date_t date;
--异常处理
declare exit handler for sqlexception
begin
return -1;
end;
set Date_t=date(trim(v_date));
return 0;
end;
错误如下:
[IBM][CLI Driver][DB2/NT] SQL0104N 在 "ns int language sql " 后面找到异常标记 "begin atomic "。预期标记可能包括:"<psm_begin_function_compou"。 LINE NUMBER=10. SQLSTATE=42601
---------------------------------------------------
我把atomic去掉,就可以编译成功。不知道为什么?加就是不行呢?atomic在过程中干嘛的我知道,在函数中atomic是什么作用呢?我这个过程的atomic是不是和这里的异常处理冲突了吗?为啥???
存在即是道理。听说过没有,自己不懂就不要乱说。还有这是测试函数,需要有意义嘛!估计你测试是啥你也不懂。。。。
追答好吧,我手贱了,我不应该回答你的问题。
我这里用的异常在里面,我把异常去掉用atomic就可以。这说明这个atomic用不用其实没有影响。我的函数里应该是和异常有什么冲突才对,我想知道为啥冲突,其中原理是什么?或者其他原因。
感谢你的回答,可是没有解决我的困扰啊。