我正在尝试在db2函数中使用raise_application_error
,如下所示。
当我尝试创建该函数时,db2告诉我以下内容
An unexpected token "raise_application_error" was found following
"id is null then ". Expected tokens may include: "RETURN". LINE
允许它在函数中使用还是仅用于存储过程?
什么是功能的有效替代品?
create or replace function get_stuff(id integer)
returns varchar(10)
language sql reads sql data
begin
declare toreturn varchar(10);
if id Is null then
raise_application_error(-20000,'Id Missing)
end if;
--set (toreturn)=select ...///
return toreturn;
end@
最佳答案
如果要编写IBM SQL PL,则应定义信号的文本
SIGNAL SQLSTATE VALUE '20000'
SET MESSAGE_TEXT = 'Id Missing';
如果要在DB2中编写PL/SQL,则应确保将兼容性 vector 设置为ORA:http://publib.boulder.ibm.com/infocenter/db2luw/v10r1/topic/com.ibm.db2.luw.apdv.porting.doc/doc/r0052867.html
关于sql - db2函数中的raise_application_error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18143816/