SP tratando ResultSet

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

SP tratando ResultSet

Mensagem por asimoes »

Tratando ResultSet dentro da SP

Código: Selecionar todos

BEGIN

DECLARE done INT DEFAULT TRUE;

-- DECLARE EXIT HANDLER FOR NOT FOUND SET done = FALSE;
 DECLARE rowcount int;
 
    SELECT cad.idcadastrosocios, cad.* FROM CADASTROSOCIOS CAD WHERE CAD.CODIGO = p_sCodigo; 
    
    SET @rowcount = (SELECT cad.idcadastrosocios FROM CADASTROSOCIOS CAD WHERE CAD.CODIGO = p_sCodigo LIMIT 1); 
    
    if @rowcount > 0  then
       SET p_sErro='achou';
    else
       SET p_sErro='não achou';
    end if;
    
     SELECT @rowcount, @p_sErro;
    
END
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

SP tratando ResultSet

Mensagem por asimoes »

Código: Selecionar todos

DELIMITER //
 
CREATE OR REPLACE PROCEDURE Busca(IN p_sCodigo VARCHAR(5), OUT p_sErro VARCHAR(200))
BEGIN

   DECLARE id int;

   SELECT cad.idcadastrosocios, cad.* FROM CADASTROSOCIOS CAD WHERE CAD.CODIGO = p_sCodigo; 
   
   SET @id = (SELECT cad.idcadastrosocios FROM CADASTROSOCIOS CAD WHERE CAD.CODIGO = p_sCodigo LIMIT 1); 
   
   SET p_sErro='não achou';
   
   if @id IS NOT null  then
      SET p_sErro='achou';
   end if;
   
   SELECT @id, p_sErro;

END; //

DELIMITER ;
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder