我需要知道如何使 Oracle 数据库出错。原因是试图在JDBC
中捕获异常。
通过最终使用JDBC
调用数据库的Web服务调用对数据库的调用。因此,消费者通过 SOAP 请求与整个事物进行交互。大多数请求都会使用xsd:string
或/和xsd:date
。
一种方法,例如,我这样做是为WHERE
子句中的VARCHAR2
字段设置一个大于4000字符的字符(BYTE
4000) 。还有其他方法可以强制数据库抛出错误吗?
答案 0 :(得分:3)
如果无法向数据库添加对象,则需要使用可在纯SQL中创建的错误。以下是一些选项:
select to_date('2/30/2014','mm/dd/yyyy') from dual
select cast('aaa' as number) from dual
select 1/0 from dual
select this_doesnt_exist('aaa') from dual
select to_date('10','mmmmmmmmm') from dual
答案 1 :(得分:1)
您可以执行以下操作之一:
1/0
或任何其他低级错误。我的选项是1,只需进行一些修改:
create function raise_custom_error
( error_no number
, message varchar2
)
return number
as
begin
raise_application_error(error_no, message);
return 0;
end;
/
像这样使用:
select case
when 1=1 /*bad condition*/
then raise_custom_error(-20163, 'My custom error')
else 0
end
from dual