Pessoal tentei, tentei mas não consegui...
Meu ultimo recurso é vir aqui antes de procurar na net, bater a cabeça, tomar um café, 2 ligações... Mas dessa vez to parado... Peço mais uma vez a ajuda dos meu amigos aqui...
Ainda continuo sem atualizar minha tabela, ele diz que não encontrou dado, teria alguma forma de ignorar isso. Pois toda vez que ele não encontra o dado ele cai no Exception
dando a seguinte mensagem
Selecionar tudo
Connecting to the database GPM.
Não encontrado informação
Process exited.
Disconnecting from the database GPM.
Segue abaixo o codigo fonte:
Selecionar tudo
create or replace PROCEDURE SP_Ctr_ColetaVivoNetTemp AS
v_idProcessoVivoNet varchar2(700);
v_RESP_CLIENTEREINC varchar2(2000);
v_RESP_CLIENTENCONT varchar2(2000);
v_RESP_HOUVECONTATO varchar2(2000);
v_RESP_DETALHESATIS varchar2(2000);
v_RESP_MOTIVOINSAT varchar2(2000);
v_RESP_COMENTARIOFI varchar2(2000);
v_RESP_SATISFACAOR varchar2(2000);
v_RESP_NOTAATENDIM varchar2(2000);
v_RESP_LINHACANC varchar2(2000);
CURSOR Cur_Perguntas is
Select distinct IDPROCESSOVIVONET from COLETA_TEMP_PS20070508;
BEGIN
OPEN Cur_Perguntas;
LOOP
FETCH Cur_Perguntas INTO v_idProcessoVivoNet;
SELECT RESPOSTA into v_RESP_CLIENTEREINC FROM COLETA_TEMP_PS20070508
WHERE PERGUNTA='CLIENTE É REINCIDENTE?'
AND IDPROCESSOVIVONET = v_idProcessoVivoNet;
SELECT RESPOSTA into v_RESP_CLIENTENCONT FROM COLETA_TEMP_PS20070508
WHERE PERGUNTA='CLIENTE NÃO CONTATADO'
AND IDPROCESSOVIVONET = v_idProcessoVivoNet;
SELECT RESPOSTA into v_RESP_HOUVECONTATO FROM COLETA_TEMP_PS20070508
WHERE PERGUNTA='HOUVE CONTATO COM CLIENTE?'
AND IDPROCESSOVIVONET = v_idProcessoVivoNet;
SELECT RESPOSTA into v_RESP_DETALHESATIS FROM COLETA_TEMP_PS20070508
WHERE PERGUNTA='DETALHE DA INSATISFAÇÃO DO CLIENTE'
AND IDPROCESSOVIVONET = v_idProcessoVivoNet;
SELECT RESPOSTA into v_RESP_MOTIVOINSAT FROM COLETA_TEMP_PS20070508
WHERE PERGUNTA='MOTIVO DA INSATISFAÇÃO:'
AND IDPROCESSOVIVONET = v_idProcessoVivoNet;
SELECT RESPOSTA into v_RESP_COMENTARIOFI FROM COLETA_TEMP_PS20070508
WHERE PERGUNTA='COMENTARIO FINAL'
AND IDPROCESSOVIVONET = v_idProcessoVivoNet;
SELECT RESPOSTA into v_RESP_SATISFACAOR FROM COLETA_TEMP_PS20070508
WHERE PERGUNTA='SATISFAÇÃO COM RESULTADO?'
AND IDPROCESSOVIVONET = v_idProcessoVivoNet;
SELECT RESPOSTA into v_RESP_NOTAATENDIM FROM COLETA_TEMP_PS20070508
WHERE PERGUNTA='NOTA PARA O ATENDIMENTO'
AND IDPROCESSOVIVONET = v_idProcessoVivoNet;
SELECT RESPOSTA into v_RESP_LINHACANC FROM COLETA_TEMP_PS20070508
WHERE PERGUNTA='LINHA CANCELADA?'
AND IDPROCESSOVIVONET = v_idProcessoVivoNet;
UPDATE COLETA_VIVONET_TEMP SET
RESP_CLIENTEREINCIDENTE = v_RESP_CLIENTEREINC,
RESP_CLIENTECONTATADO = v_RESP_CLIENTENCONT,
RESP_HOUVECONTATOCLIENTE = v_RESP_HOUVECONTATO,
RESP_DETALHEINSATISFACAO = v_RESP_DETALHESATIS,
RESP_MOTIVOINSATISFACAO = v_RESP_MOTIVOINSAT,
RESP_COMENTARIOFINAL = v_RESP_COMENTARIOFI,
RESP_SATISFACAORESULTADO = v_RESP_SATISFACAOR,
RESP_NOTAATENDIMENTO = v_RESP_NOTAATENDIM,
RESP_LINHACANCELADA = v_RESP_LINHACANC
WHERE IDPROCESSOVIVONET = v_idProcessoVivoNet;
EXIT WHEN Cur_Perguntas%NOTFOUND;
END LOOP;
CLOSE Cur_Perguntas;
EXCEPTION
WHEN NO_DATA_FOUND THEN
BEGIN
DBMS_OUTPUT.PUT_LINE('Não encontrado informação');
END;
END SP_Ctr_ColetaVivoNetTemp ;