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

изпълнение на `EXECUTE IMMEDIATE ` Oracle Statement Getting Error

Проблемът е ; символ в 'SELECT * FROM DUAL;' .

От документация :

execute_immediate_statement ::=
EXECUTE_IMMEDIATE dynamic_string
 { 
    INTO { define_variable [, define_variable ...] | record_name } 
  | BULK COLLECT INTO { collection_name [, collection_name ...] | :host_array_name } 
 }
   [ USING [ IN | OUT | IN OUT ] bind_argument
   [, [ IN | OUT | IN OUT ] bind_argument] ... ] [ returning_clause ] ;

... където dynamic_string е (акцентът е мой):

Тъй като няма да приеме множество изрази, освен ако не ги затворите в един PL/SQL блок, ; разделител не се очаква.

Има по-добро обяснение в Използване на командата EXECUTE IMMEDIATE в PL/SQL :



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

  2. Oracle UCP драйвер и tomcat:нишките не успяват да спрат

  3. select distinct(date) връща една и съща дата няколко пъти

  4. Каква е разликата между временна таблица и глобална временна таблица в Oracle?

  5. Изхвърлете данни от таблица(и) на Oracle към изрази INSERT