Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да определите типа на sql заявката за jdbcTemplate в JAVA?

в Oracle можете да анализирате заявка, преди да я изпълните

declare
    l_theCursor     integer default dbms_sql.open_cursor;
begin
    dbms_sql.parse(  l_theCursor,  'SELECT 1 FROM DUAL', dbms_sql.native );
end;

което така или иначе е добра практика, тъй като ще получавате вашия SQL от потребителски вход. ако изявлението не е валидно, ще получите съответното съобщение за грешка. Разбира се, операторът не се изпълнява от горното.

След анализиране на оператора можете да направите заявка към v$sql, за да откриете command_type:

select command_type, sql_text
from v$sql t
where sql_text = 'SELECT 1 FROM DUAL';

Различните commands_types са така:

2 -- ВМЪКНЕТЕ

3 -- ИЗБЕРЕТЕ

6 -- АКТУАЛИЗАЦИЯ

7 -- ИЗТРИВАНЕ

189 -- СЛИВАНЕ

можете да получите пълния списък чрез select * from audit_actions order by action

Надявам се това да помогне :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Броят на параметрите не съвпада с броя на стойностите за съхранена процедура

  2. Вземете топ 10 продукта за всяка категория

  3. Достъп до курсора по име на колона динамично

  4. php oci_bind_by_name плаващ към числов

  5. Как да получите всички имена на тригери от база данни с помощта на Java JDBC?