Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ORA-00907 beim dynamischen Erstellen einer Ansicht in PL/SQL und Verwenden eines CLOB

Wie Klas gesagt hat, sollten Sie in der Lage sein, VARCHAR2(32767) für Ihre Variablendeklaration zu verwenden, aber wenn Sie feststellen, dass dies nicht ganz ausreicht, können Sie einfach mehr als eine VARCHAR2-Variable verwenden, um die verschiedenen Teile der Ansichtsanweisung aufzunehmen, und dann geben Sie sie an die EXECUTE IMMEDIATE-Anweisung aus.

Eine AskTom-Antwort hier zeigt:

http://asktom. oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:6161200355268

Sagt:

Alles auf 8.1.7

Meine Frage ist, was die maximale Länge für den Execute ImmediateString ist, weil ich besorgt war, dass es 32k war und wir bereits darüber hinweg sind, und ich bin mir nicht sicher, wann ich an die Wand schlagen werde.

Tom Kyte antwortet:

Obwohl dies auf einer Oracle 8i-Datenbankinstanz war, wäre ich sehr überrascht, wenn die Möglichkeit, die VARCHAR2-Variablen in Reihe zu schalten, in späteren Revisionen fallen gelassen worden wäre. Leider kann ich es nicht testen, da ich gerade keine 10g-Instanz zur Hand habe.