如何在SQL中检查哪一行产生和错误

时间:2016-05-10 07:54:59

标签: sql-server-2008 error-handling

我在字符串上使用了复杂的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这样的错误记录?

1 个答案:

答案 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中游标很好的次数之一,因为你需要单独处理每一行)