2016-05-10 4 views
0

ich auf String komplexe UDF bin mit der und Fehler produziert hat: Invalid length parameter passed to the LEFT or SUBSTRING function.Wie in SQL welche Zeile erzeugt und Fehler überprüfen

Gibt es eine Möglichkeit zu überprüfen, welche Zeile erzeugt und Fehler - so etwas wie:

select 
UDF(arguments) 
from tb 
where 
IsError(UDF(arguments))=TRUE 

Gibt es etwas wie IsError, um solche schlechten Aufzeichnungen zu bekommen?

Antwort

1

Nicht so weit ich weiß.
Ihre beste Wette, wie ich es sehe, wäre ein Cursor, der die UDF für jede Zeile aufrufen kann, und dann können Sie den Fehler pro Zeile erfassen.

So denke ich so etwas wie

(pseducode)

DECLARE CURSOR FOR YOUR TABLE 
WHILE @@FETCH_STATUS = 0 BEGIN 
    TRY UDF 
    CATCH ERROR AND LOG 
END 

REPORT ALL ERRORS 

(dies ist eines der wenigen Male, ein Cursor gut in SQL ist, weil Sie jede Zeile einzeln behandeln müssen)

+0

Ich kann es nicht überprüfen, da ich Cursor in SQL nicht kenne. Nur abstimmen, aber nicht akzeptieren. –

Verwandte Themen