Retornar Valores em uma Store Procedure
Olá amigos,
Preciso fazer uma StoreProcedure que leia os dados de uma tabela, retorne esses dados e ainda faça um update nos dados retornados.
Exemplo:
/* BUSCA AS MENSAGENS NÃO LIDAS */
FOR SELECT C.CH_MSG FROM CHAT C
WHERE (C.CH_LIDA = ´N´)
INTO :rMSG DO BEGIN
SUSPEND;
END
/* SETA AS MENSAGENS COMO LIDA
UPDATE CHAT SET CH_LIDA = ´S´ WHERE (CH_LIDA = ´N´);
O problema é o seguinte, qdo mando dar o UPDATE ele não retorna nada, qdo não dou o UPDATE funciona certinho.
Eu sei que estou dando um UPDATE no campo que faço o WHERE, mas achei que uma vez dado o suspend o retorno do valor estava garantido.
Existe alguma forma de se fazer isso ???
Obrigado e sucesso a todos.
Preciso fazer uma StoreProcedure que leia os dados de uma tabela, retorne esses dados e ainda faça um update nos dados retornados.
Exemplo:
/* BUSCA AS MENSAGENS NÃO LIDAS */
FOR SELECT C.CH_MSG FROM CHAT C
WHERE (C.CH_LIDA = ´N´)
INTO :rMSG DO BEGIN
SUSPEND;
END
/* SETA AS MENSAGENS COMO LIDA
UPDATE CHAT SET CH_LIDA = ´S´ WHERE (CH_LIDA = ´N´);
O problema é o seguinte, qdo mando dar o UPDATE ele não retorna nada, qdo não dou o UPDATE funciona certinho.
Eu sei que estou dando um UPDATE no campo que faço o WHERE, mas achei que uma vez dado o suspend o retorno do valor estava garantido.
Existe alguma forma de se fazer isso ???
Obrigado e sucesso a todos.
Renatobraun
Curtidas 0
Respostas
Afarias
12/02/2004
estranho... fiz até uns testes e funciona legal...
T+[/code]
FOR SELECT CH_MSG FROM CHAT WHERE (CH_LIDA = ´N´) INTO :rMSG DO SUSPEND; UPDATE CHAT SET CH_LIDA = ´S´ WHERE (CH_LIDA = ´N´);
T+[/code]
GOSTEI 0