EXECUTE IMMEDIATE ' Kommandos '

Ist es möglich ausführen einer sql-Befehle innerhalb einer EXECUTE IMMEDIATE-block?

Was ist falsch mit dieser syntax:

declare
    pragma autonomous_transaction;
begin           
    execute immediate
    'begin
        COMMENT ON TABLE t1 IS ''description1'';
        COMMENT ON TABLE t2 IS ''description2'';            
    end;';
end;

Für einen SQL-Befehl funktioniert es einwandfrei:

declare
    pragma autonomous_transaction;
begin           
    execute immediate ' COMMENT ON TABLE t1 IS ''description1'' ';
end;
  • Warum müssen Sie es tun, in einer einzigen Anweisung?
  • Welche Fehler sind Sie immer?
  • Ausgeführte Anweisung erfordert weniger refactoring)
  • Ist die falsche Verwendung von "execute immediate" - Befehl. Verständnis, dass die erste Anweisung von PL/SQL und der zweite DDL-hat mir sehr geholfen. Nochmals danke, Shannon!
InformationsquelleAutor Nikita | 2012-04-05
Schreibe einen Kommentar