Oracle
 sql >> Baza danych >  >> RDS >> Oracle

wykonanie `EXECUTE IMMEDIATE` Oświadczenie Oracle Pojawia się błąd

Problemem jest ; znak w 'SELECT * FROM DUAL;' .

Z dokumentacji :

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 ] ;

... gdzie dynamic_string jest (podkreślenie moje):

Ponieważ nie zaakceptuje wielu instrukcji, chyba że zamkniesz je w jednym bloku PL/SQL, ; separator nie jest oczekiwany.

Lepsze wyjaśnienie znajduje się w Korzystanie z instrukcji EXECUTE IMMEDIATE w 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. Wyświetlanie kolumny CLOB z 4000+ znakami

  2. Sposób na sprawdzenie gotowego sql . Oracle

  3. Zapytanie, aby znaleźć średnią ważoną cenę

  4. scalanie aktualizacji oracle nie może uzyskać stabilnego zestawu wierszy

  5. ActiveMQ 5.8:Nie można załadować klasy sterownika JDBC „oracle.jdbc.driver.OracleDriver”