sql >> Database >  >> RDS >> Oracle

`VOER ONMIDDELLIJK UIT` Oracle Statement krijgt fout

Het probleem is de ; teken in 'SELECT * FROM DUAL;' .

Uit documentatie :

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

... waar dynamic_string is (nadruk van mij):

Omdat het niet meerdere instructies accepteert, tenzij je ze in een enkel PL/SQL-blok plaatst, is de ; scheidingsteken wordt niet verwacht.

Er is een betere uitleg op De EXECUTE IMMEDIATE-instructie gebruiken in PL/SQL :



  1. Haal telqueryresultaten op via getSingleScalarResult() en groupBy() - exception

  2. MSSQL Reguliere expressie

  3. Hoe slecht geformatteerde JSON in PHP te repareren?

  4. Fout in UDF-resultaat