sql >> Databasteknik >  >> RDS >> Oracle

exekverar `EXECUTE IMMEDIATE ` Oracle Statement Får fel

Problemet är ; tecken i 'SELECT * FROM DUAL;' .

Från dokumentation :

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

... där dynamic_string är (min betoning):

Eftersom det inte accepterar flera uttalanden om du inte innesluter dem i ett enda PL/SQL-block, visas ; separator förväntas inte.

Det finns en bättre förklaring på Använda EXECUTE IMMEDIATE-satsen i PL/SQL :



  1. Hur skulle jag få psycopg2-loggning av frågekörningstiden?

  2. spåra orakelpåståenden

  3. isolera en understräng i en sträng före en symbol i SQL Server 2008

  4. Visa tabeller i SQLite-databasen i Python