Updade simples

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
LoadingXp
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 65
Registrado em: Sex, 30 Mar 2007 11:57 am
Localização: SP
Contato:
Att.

Luciano Alvarenga M. Pires
DBA ORACLE CERTIFICADO
http://fulloracle.blogspot.com
------------------------------------
Dinheiro é o combustivel da sociedade industrial. Mas na sociedade da informática o combustivel, o poder, é o conhecimento.

Pessoal estou tentando fazer um update e não consigo, tentei de diversas maneiras, mas em nenhum consegui...

Selecionar tudo

  UPDATE COLETA_VIVONET_TEMP SET
        COLETA_VIVONET_TEMP.RESP_CLIENTEREINCIDENTE = COLETA_TEMP_PS20070508.RESPOSTA
  FROM COLETA_VIVONET_TEMP
    inner join COLETA_TEMP_PS20070508
        on COLETA_TEMP_PS20070508.IDPROCESSOVIVONET=COLETA_VIVONET_TEMP.IDPROCESSOVIVONET
  where COLETA_TEMP_PS20070508.pergunta='CLIENTE É REINCIDENTE?';


  UPDATE COLETA_VIVONET_TEMP SET
        COLETA_VIVONET_TEMP.RESP_CLIENTEREINCIDENTE = COLETA_TEMP_PS20070508.RESPOSTA
  FROM COLETA_VIVONET_TEMP, 
       COLETA_TEMP_PS20070508
  where 
  COLETA_VIVONET_TEMP.IDPROCESSOVIVONET = COLETA_TEMP_PS20070508.IDPROCESSOVIVONET
  and COLETA_TEMP_PS20070508.pergunta='CLIENTE É REINCIDENTE?';
  
  
  UPDATE COLETA_VIVONET_TEMP TEMP
SET (RESP_CLIENTEREINCIDENTE) = ( SELECT RESPOSTA FROM COLETA_TEMP_PS20070508
  WHERE COLETA_VIVONET_TEMP.IDPROCESSOVIVONET = COLETA_TEMP_PS20070508.IDPROCESSOVIVONET
  and COLETA_TEMP_PS20070508.pergunta='CLIENTE É REINCIDENTE?');
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

olha....esta aiw a cima não sei se funcionam mas desta forma teria que funcionar

Selecionar tudo

UPDATE COLETA_VIVONET_TEMP /*TEMP*/
   SET (RESP_CLIENTEREINCIDENTE) = ( SELECT RESPOSTA FROM COLETA_TEMP_PS20070508 a
                                      WHERE COLETA_VIVONET_TEMP.IDPROCESSOVIVONET = a.IDPROCESSOVIVONET
                                        and a.pergunta='CLIENTE É REINCIDENTE?');
nota que no seu update tinha um TEMP a mais.
outra coisa....pode ser que os acentos estejam fazendo com que a select retorne NULL na select.

qualquer coica cole a mensagem de erro para nos
LoadingXp
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 65
Registrado em: Sex, 30 Mar 2007 11:57 am
Localização: SP
Contato:
Att.

Luciano Alvarenga M. Pires
DBA ORACLE CERTIFICADO
http://fulloracle.blogspot.com
------------------------------------
Dinheiro é o combustivel da sociedade industrial. Mas na sociedade da informática o combustivel, o poder, é o conhecimento.

Primeiramente obrigadão pela ajuda, mas acredito que a minha solução ai vai ser apenas com cursor... :cry:

Pois vou ter que controlar 2 ID's

Ex.

Hoje:
ID_PROCESSO |PERGUNTA |RESPOSTA
1212321 PERGUNTA1 resp. 1
1212321 PERGUNTA2 resp. 2
...

Alteração para:
IDPROCESSO |PERGUNTA1 |PERGUNTA2 |PERGUNTA3 |PERGUNTA4
1212321 resp. 1 resp. 2 resp. 3 resp. 4
Responder
  • Informação
  • Quem está online

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