- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 15 anos, 10 meses atrás por
hudsona.
-
AutorPosts
-
11 de maio de 2010 às 11:49 pm #93949
C-S-R
ParticipanteBoa Tarde Srs.
Gostaria de saber se no SqlPlus em um UPDATE se caso tiver linhas em branco a query dara erro?
Exemplo para eu poder me expressar melhor.UPDATE TABELA SET COLUNA = ‘XZXZXZXZXZXZXZ
XZXZXZXZXZ’ WHERE ID = 1;
O fato de ter essa linha em branco no meio da erro ao executar no sqlplus, em ferramentas como sqldeveloper funciona.
O motivo de ter essa linha em branco é pq é um campo CLOB.
Essa informação é correta?Alguem sabe como resolver?
Obrigado.
At
Cesar12 de maio de 2010 às 12:10 am #93950Marcos Braga
ParticipanteOlá C-S-R,
Isso é coisa so SQLPLUS mesmo.
Você pode arrumar isso ativando a variável SQLBL.
Observe este exemplo:
SQL> create table t1 (c1 varchar2(100));Tabela criada.
SQL> insert into t1 values ('AAAAA');
1 linha criada.
SQL> commit;
Commit concluido.
SQL> update t1 set c1 = 'XZXZXZXZXZXZXZ
2
SQL> XZXZXZXZXZ';
SP2-0734: inicio de comando desconhecido "XZXZXZXZXZ..." - restante da linha ignorado.
SQL>
SQL>
SQL> SET SQLBL ON
SQL>
SQL>
SQL> update t1 set c1 = 'XZXZXZXZXZXZXZ
2
3 XZXZXZXZXZ';1 linha atualizada.
SQL> commit;
Commit concluido.
[]s
Braga12 de maio de 2010 às 2:34 am #93954C-S-R
ParticipanteOpa Braga,
Vivendo e aprendendo.
Vou fazer aqui.vlw pela ajuda
12 de maio de 2010 às 2:54 am #93955C-S-R
ParticipanteBraga funcionou legal o SET SQLBL ON.
Porém apareceu outro erro, pelo que pude analizar o ; agora esta dando erro.Tem um ; no meio da string e gera o erro ora-01756
Sabe me dizer como resolver esse tb?
obrigado
Cesar
12 de maio de 2010 às 3:53 am #93956Marcos Braga
ParticipanteOi Cesar,
Creio que a solução será inativar o terminador “;” com SQLT.
Observe este pequeno teste:
- Update normal com linhas em branco
SQL> update t1 set c1 = 'ZXZXZXZXZX
2
3 ZXZXZXZXZ';
1 row updated.
SQL> commit;
Commit complete.
- 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 characterCreio que é isso
[]s
Braga13 de maio de 2010 às 10:36 pm #93988C-S-R
ParticipanteBraga,
Efetuei os testes e rodou sem problemas.
Muito obrigado pela ajuda.
13 de maio de 2010 às 11:42 pm #93994hudsona
ParticipanteEssa nem eu sabia braga
Muito bom
- Update normal com linhas em branco
-
AutorPosts
- Você deve fazer login para responder a este tópico.