i Oracle kan du parse en forespørgsel, før du udfører den
declare
l_theCursor integer default dbms_sql.open_cursor;
begin
dbms_sql.parse( l_theCursor, 'SELECT 1 FROM DUAL', dbms_sql.native );
end;
hvilket er en god praksis alligevel, da du vil modtage din SQL fra brugerinput. hvis sætningen ikke er gyldig, får du den relevante fejlmeddelelse. Udsagnet udføres naturligvis ikke af ovenstående.
Efter at have parset sætningen kan du forespørge v$sql for at finde ud af kommandotype:
select command_type, sql_text
from v$sql t
where sql_text = 'SELECT 1 FROM DUAL';
De forskellige kommandotyper er sådan:
2 -- INDSÆT
3 -- VÆLG
6 -- OPDATERING
7 -- SLET
189 -- FLETNING
du kan få den fulde liste ved at select * from audit_actions order by action
Håber det hjælper :)