2017-05-30 5 views
0

Ich erstelle dynamisch eine Abfragezeichenfolge, die ich nur ausführen möchte, wenn es eine gültige Abfrage ist (gültige Syntax). Ansonsten möchte ich diese Abfrage überspringen und die Ausführung von pl sql fortsetzen. Wie kann es gemacht werden?Überprüfen der Gültigkeit einer dynamisch generierten Abfrage

+1

Schließen Sie es mit 'BEGIN ... AUSNAHME ... ENDE;' –

+0

Sie können auch versuchen, ['DBMS_SQL.PARSE()'] (https://docs.oracle.com/cd/B28359_01/appdev.111 /b28419/d_sql.htm#i997676), die die semantische Prüfung durchführen und ** auch die SQL ausführen, wenn die Syntax gültig ist. –

+0

Wird die Ausführung verlangsamt, wenn keine großen Anfragen in einer Schleife überprüft werden? – Akhil

Antwort

1

Verschachteln Sie diese Abfrageausführung mit einem anderen BEGIN..EXCEPTION..END; .In Ausnahme behandeln "When OTHERS". Falls es einen Syntaxfehler gibt, wird er im Ausnahmeblock abgefangen und die nächste Zeile Ihrer Logik in der Ausführung von pl/sql wird weitergeführt.

Verwandte Themen