[firebase-br] Comando SUSPEND?
Oleber
oleber_itajai em yahoo.com.br
Sáb Jun 16 10:12:41 -03 2007
Voce vai usar suspend somente quando querer que o resultado de cada linha do select seja enviado para seus parametros de retorno, para serem visualizados na sua aplicacção ( num dbgrid por exemplo);
Joubert Rinaldi Vieira <rinaldi.vieira em gmail.com> escreveu: Amigos,
Fiz a procedure abaixo usando os exemplos e dicas encontradas no ng:
CREATE PROCEDURE SP_ATUALIZACAO (
pcodigorca varchar(10))
returns (
rregistro varchar(2),
rchave varchar(40),
rconteudo varchar(1024))
as
declare variable vachou integer;
declare variable vdata_inicio_processamento date;
declare variable vhora_inicio_processamento time;
declare variable vdata_ultima_conexao date;
declare variable vhora_ultima_conexao time;
declare variable vnumero_conexoes integer;
begin
vdata_inicio_processamento = Current_date;
vhora_inicio_processamento = Current_time;
Select Count(*) From RCA Where RCA.CODIGO = :pCodigoRCA Into :vAchou;
if (vAchou = 0) then
Begin
Insert Into RCA
(CODIGO, DATA, HORA, NUMERO_CONEXOES)
Values
(:pcodigorca, :vdata_inicio_processamento,
:vhora_inicio_processamento, 0);
End
Select RCA.DATA,
RCA.HORA,
RCA.NUMERO_CONEXOES
From RCA
Where RCA.CODIGO = :pcodigorca
Into :vdata_ultima_conexao, :vhora_ultima_conexao, :vnumero_conexoes;
For
Select TARGET.REGISTRO, TARGET.CHAVE, TARGET.CONTEUDO
From TARGET
Where (TARGET.data >= :vdata_ultima_conexao)
and (TARGET.hora >= :vhora_ultima_conexao)
Order By TARGET.registro, TARGET.chave
Into :rregistro, :rchave, :rconteudo
Do
Begin
suspend;
End
update RCA set
RCA.data = :vdata_inicio_processamento,
RCA.hora = :vhora_inicio_processamento,
RCA.numero_conexoes = :vnumero_conexoes+1
Where
RCA.CODIGO = :pcodigorca;
end^
Porem no meu entendimento deveria colocar um comando "SUSPEND" depois do
"Update" e quando faço isso é retornado linhas duplicadas. Preciso entender
quando devo colocar o SUSPEND, alguem tem algum dica de livro artigo mais
aprofundado ou etc.
att
Joubert
--
MSN: jcombr em hotmail.com
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
---------------------------------
Novo Yahoo! Cadê? - Experimente uma nova busca.
Mais detalhes sobre a lista de discussão lista