sql >> Database >  >> RDS >> Oracle

Hoe het type SQL-query voor jdbcTemplate in JAVA te bepalen?

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 :)



  1. Begrijpen hoe u een zoekopdracht kunt optimaliseren via de Postgres/rails explain data

  2. Sqoop Import --wachtwoordbestand-functie werkt niet goed in sqoop 1.4.4

  3. Wanneer en hoe de SQL PARTITION BY-clausule te gebruiken?

  4. Roep opgeslagen procedure aan met verzameling van records met behulp van callproc in python