Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-00907 ao criar dinamicamente uma view em PL/SQL e usar um CLOB


Como Klas disse, você deve ser capaz de usar VARCHAR2(32767) para sua declaração de variável, mas se você achar que isso não é suficiente, você pode usar mais de uma variável VARCHAR2 para manter as várias partes da instrução de exibição e, em seguida, emita-os para a instrução EXECUTE IMMEDIATE.

Uma resposta do AskTom aqui demonstra:

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

Diz:

Tudo em 8.1.7

Minha pergunta é qual é o comprimento máximo para o execute instantstring porque eu estava preocupado que fosse 32k e já superamos isso, e não tenho certeza de quando vou bater na parede.

Tom Kyte responde:

Embora isso estivesse em uma instância de banco de dados Oracle 8i, eu ficaria muito surpreso se a capacidade de encadear as variáveis ​​VARCHAR2 tivesse sido descartada em revisões posteriores. Infelizmente não posso testá-lo, pois não tenho uma instância de 10g disponível no momento.