Olá Lista,

Estou tentando executar uma StoredProcedure no Interbase6 mas a 
mesma não retorna o registro atual.

Tenho uma tabela com vários registros e ao executar esta SP quero 
trazer o 1º. Registro que o campo EXIBIDO seja "N" e ao trazer este 
registro quero dar um update neste campo para "S".

CREATE TABLE "AVISO"
("ID_AVISO" INTEGER NOT NULL,
  "FRASE" BLOB SUB_TYPE TEXT SEGMENT SIZE 500,
  "EXIBIDO" CHAR(1),
 PRIMARY KEY ("ID_AVISO"));

CREATE PROCEDURE EXIBE_AVISO
   RETURNS (ID_AVISO INTEGER, FRASE BLOB SUB_TYPE TEXT SEGMENT SIZE 
500, EXIBIDO CHAR(1))
   AS
      DECLARE VARIABLE CONTADOR INTEGER;
BEGIN
   CONTADOR = 0;
   FOR SELECT ID_AVISO, FRASE, EXIBIDO FROM AVISO WHERE EXIBIDO 
<> 'S'
       INTO :ID_AVISO, :FRASE, :EXIBIDO
   DO BEGIN
       CONTADOR = :CONTADOR + 1;
       IF (CONTADOR > 1) THEN
          EXIT ;
       SUSPEND;
   END
   if (CONTADOR = 0) then
     UPDATE AVISO set EXIBIDO = 'N';
END
   END ^

Estou utilizando Delphi7, ClientDataSet e em 
commandtype=ctStoredProc e estou chamando o comando .EXECUTE do CDS.

Agradeço qualquer ajuda.

Abraço a todos!







-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a