Problema com '&' em insert - Solicita valor

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Wagner Wiebusch
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Sex, 18 Set 2009 8:22 pm
Localização: Cachoeirinha

Estou tentando executar um script de inserção no sql developer. ex.:

Selecionar tudo

INSERT INTO CLIENTES (ID_CLIENTE,fantasia,nome) 
values (PARCEIRO.sid_CLIENTES.nextval,’AGROPECUARIA AM’,'AGROEPCUARIA & FLORICULTUTA AMIGOS LTDA.’);
Só coloquei algumas colunas, mas no caso de encontrar ‘&’ como no nome do cliente mostra uma mensagem solicitando um valor(parâmetro), existe alguma forma de fazer o oracle aceitar e não mostrar mensagem? é um script com quase 800 registros e tenho que ficar dando uns 50 ok na msg pra conseguir terminar a inserção.

Andei pesquisando e vi que o oracle considera & como variável de substituição...q não é o caso do meu script.

Se alguém puder me ajudar.

Grato
pauloaleo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 181
Registrado em: Qua, 09 Fev 2005 12:30 pm
Localização: SÃO BERNARDO DO CAMPO - SP

Selecionar tudo

SQL> insert into teste (teste) values ('hdhdhdhdhdhdhedh');

1 linha criada.

SQL> insert into teste (teste) values ('hdhdhdhdhdhdhedh "&" hasdhfsçahf');

1 linha criada.

SQL> select * from teste;

TESTE
----------------------------------------
hdhdhdhdhdhdhedh
hdhdhdhdhdhdhedh "&" hasdhfsçahf

SQL>
pauloaleo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 181
Registrado em: Qua, 09 Fev 2005 12:30 pm
Localização: SÃO BERNARDO DO CAMPO - SP

Selecionar tudo

SQL> set escape #
SQL> insert into teste values ('lhsfhf#&jasdkjsaçk');

1 linha criada.

SQL> select * from teste;

TESTE
----------------------------------------
hdhdhdhdhdhdhedh
hdhdhdhdhdhdhedh "&" hasdhfsçahf
hdhdhdhdhdhdhedh .&. hasdhfsçahf
hdhdhdhdhdhdhedh '&' hasdhfsçahf
lhsfhf&jasdkjsaçk

SQL>
pauloaleo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 181
Registrado em: Qua, 09 Fev 2005 12:30 pm
Localização: SÃO BERNARDO DO CAMPO - SP

Selecionar tudo

SQL> set define off;
SQL> insert into teste values ('lhsfhf&jasdkjsaçk');

1 linha criada.

SQL> select * from teste;

TESTE
----------------------------------------
hdhdhdhdhdhdhedh
hdhdhdhdhdhdhedh "&" hasdhfsçahf
hdhdhdhdhdhdhedh .&. hasdhfsçahf
hdhdhdhdhdhdhedh '&' hasdhfsçahf
lhsfhf&jasdkjsaçk
lhsfhf&jasdkjsaçk

6 linhas selecionadas.

SQL>
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Tenta SET DEFINE OFF

Veja esse exemplo no SQL*Plus:

Sem Set Define OFF:

Selecionar tudo

SQL> SELECT 'TESTE &CIA LTDA' NOME FROM DUAL;
Enter value for cia: 
old   1: SELECT 'TESTE &CIA LTDA' NOME FROM DUAL
new   1: SELECT 'TESTE  LTDA' NOME FROM DUAL

NOME
-----------
TESTE  LTDA

SQL> 
SQL> 
Com SET DEFINE OFF

Selecionar tudo

SQL> SET DEFINE OFF
SQL> SELECT 'TESTE &CIA LTDA' NOME FROM DUAL;

NOME
---------------
TESTE &CIA LTDA

SQL> 
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Sorry pauloaleo
Não vi que você já tinha respondido :oops:
pauloaleo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 181
Registrado em: Qua, 09 Fev 2005 12:30 pm
Localização: SÃO BERNARDO DO CAMPO - SP

não esquenta. t +
Wagner Wiebusch
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Sex, 18 Set 2009 8:22 pm
Localização: Cachoeirinha

Valeu mesmo pessoal! Resolvido meu problema.

Obrigado

Wagner
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes