我在字符串上使用了复杂的UDF,它产生了错误:defmodule MyApp.MyModel do
use MyApp.Web, :model
import Ecto.Query
# doesn't work
def my_method do
# how can I get access to "this" or "self" from here?
"test"
end
有没有办法检查哪一行产生和错误 - 如:
Invalid length parameter passed to the LEFT or SUBSTRING function.
是否有像IsError这样的错误记录?
答案 0 :(得分:1)
据我所知 我认为最好的办法是做一个可以为每行调用UDF的游标,然后你可以捕获每行的错误。
所以我在思考像
这样的事情(pseducode)
DECLARE CURSOR FOR YOUR TABLE
WHILE @@FETCH_STATUS = 0 BEGIN
TRY UDF
CATCH ERROR AND LOG
END
REPORT ALL ERRORS
(这是SQL中游标很好的次数之一,因为你需要单独处理每一行)