Página 1 de 1

Cursor no MariaDB

Enviado: 04 Mar 2020 22:06
por asimoes
Eu estava querendo retornar um cursor em uma SP no MariaDb, querendo fazer igual ao Oracle, pqp é muito simples:

Código: Selecionar todos

DELIMITER $$
 
CREATE OR REPLACE PROCEDURE Busca()
BEGIN

DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1;

 SELECT 
    * 
 FROM 
    asaprev.CADASTROSOCIOS CAD
 WHERE
   CAD.D_DESLIG IS NULL AND
	CAD.D_FALECI IS NULL AND
	SUBSTRING(CAD.CLASSE_PG,1,2) IN ('01', '02', '03', '04', '05');
END $$

DELIMITER ;
Ou, passando parâmetro

Código: Selecionar todos

DELIMITER $$
 
CREATE OR REPLACE PROCEDURE Busca(IN p_sCodigo VARCHAR(5), INOUT p_sErro VARCHAR(4000))
BEGIN
   DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2 = 1;
   SET p_sErro = '';
   SELECT 
      * 
   FROM 
      CADASTROSOCIOS CAD 
   WHERE 
      CAD.CODIGO = p_sCodigo;
END $$

DELIMITER ;