in Oracle können Sie eine Abfrage parsen, bevor Sie sie ausführen
declare
l_theCursor integer default dbms_sql.open_cursor;
begin
dbms_sql.parse( l_theCursor, 'SELECT 1 FROM DUAL', dbms_sql.native );
end;
Dies ist sowieso eine gute Vorgehensweise, da Sie Ihr SQL von Benutzereingaben erhalten. wenn die Anweisung nicht gültig ist, erhalten Sie die entsprechende Fehlermeldung. Natürlich wird die Anweisung von obigem nicht ausgeführt.
Nachdem Sie die Anweisung analysiert haben, können Sie v$sql abfragen, um den Befehlstyp herauszufinden:
select command_type, sql_text
from v$sql t
where sql_text = 'SELECT 1 FROM DUAL';
Die verschiedenen Befehlstypen sind wie folgt:
2 - EINFÜGEN
3 -- AUSWÄHLEN
6 -- AKTUALISIEREN
7 - LÖSCHEN
189 -- MERGE
Sie können die vollständige Liste durch select * from audit_actions order by action
abrufen
Hoffe das hilft :)