Pular para o conteúdo

Fóruns Banco de dados Oracle SQLPlus – Duvida SQLPlus – Duvida

#93956
Marcos Braga
Participante

    Oi Cesar,

    Creio que a solução será inativar o terminador “;” com SQLT.

    Observe este pequeno teste:

    1. Update normal com linhas em branco
      SQL> update t1 set c1 = 'ZXZXZXZXZX
      2
      3 ZXZXZXZXZ';

    1 row updated.

    SQL> commit;

    Commit complete.

    1. Agora o mesmo update com um ponto e vírgula na string (coincidentemente em uma linha em branco)
      SQL> update t1 set c1 = 'ZXZXZXZXZX
      2
      3 ;
      ERROR:
      ORA-01756: quote string not properly terminated

    Creio que é esse o erro a que se refere.

    E a solução:
    SQL>
    SQL> SET SQLT OFF
    SQL>
    SQL> update t1 set c1 = 'ZXZXZXZXZX
    2
    3 ;
    4 ZXZXZXZXZ'
    5 /

    1 row updated.

    Não esqueça, que depois que desativar o terminador “;” a barra assume o lugar e tudo dependerá dela, observe o commit
    SQL> commit
    2 /

    Commit complete.

    Se esquecer e adicionar um “;”, observe o erro
    SQL> commit;
    2 /
    commit;
    *
    ERROR at line 1:
    ORA-00911: invalid character

    Creio que é isso

    []s
    Braga