in Oracle kunt u een query ontleden voordat u deze uitvoert
declare
l_theCursor integer default dbms_sql.open_cursor;
begin
dbms_sql.parse( l_theCursor, 'SELECT 1 FROM DUAL', dbms_sql.native );
end;
wat sowieso een goede gewoonte is, omdat u uw SQL ontvangt van gebruikersinvoer. als de verklaring niet geldig is, krijgt u de juiste foutmelding. Natuurlijk wordt de instructie niet uitgevoerd door het bovenstaande.
Na het ontleden van het statement kun je v$sql opvragen om het command_type te achterhalen:
select command_type, sql_text
from v$sql t
where sql_text = 'SELECT 1 FROM DUAL';
De verschillende commands_types zijn als volgt:
2 -- INSERT
3 -- KIES
6 -- BIJWERKEN
7 -- VERWIJDEREN
189 -- SAMENVOEGEN
je kunt de volledige lijst krijgen door select * from audit_actions order by action
Ik hoop dat dat helpt :)