我在一个SELECT中使用了许多不同的视图和plpgsql函数/聚合。当我在某些数据集上运行此SELECT时,出现division by zero
错误。不幸的是,我没有得到任何细节,确切地说除以零。
我是否有一个很好的方法来确定问题发生的确切位置?
答案 0 :(得分:2)
在psql中运行相同的代码将产生更多有用的信息,例如:
ERROR: division by zero
CONTEXT: PL/pgSQL function "mean_estimator_sfunc" line 10 during statement block local variable initialization
答案 1 :(得分:0)
发布你的功能。以下是Oracle文档中关于如何避免异常的一些很好的示例。同样可以使用SQL来完成:
http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/errors.htm
DECLARE
stock_price NUMBER := 9.73;
net_earnings NUMBER := 0;
pe_ratio NUMBER;
BEGIN
pe_ratio :=
CASE net_earnings
WHEN 0 THEN NULL
ELSE stock_price / net_earnings
end;
END;
/