Os produtos de pedido contém os códigos de leis, pra informações adicionais.
Vou juntar todas de todos os produtos, pra colocar no pedido.
À primeira vista, deu certo.
CREATE PROCEDURE `pedidoLeis`(
IN `nIdPedido` INT
)
BEGIN
DECLARE z, nLen, nCont INT;
DECLARE A, cText VARCHAR(500) DEFAULT '';
DECLARE SP_CURSOR CURSOR FOR SELECT IPLEIS FROM JPITPED WHERE IPPEDIDO = nIdPedido;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET z = 1;
OPEN SP_CURSOR;
REPEAT
FETCH SP_CURSOR INTO A;
IF INSTR( A, ',' ) <> 0 THEN
SET nLen = 7;
ELSE
SET nLen = 6;
END IF;
SET nCont = 1;
REPEAT
IF INSTR( cText, SUBSTR( A, nCont, 6 ) ) = 0 THEN
SET cText = CONCAT( cText, SUBSTR( A, nCont, 6 ), ',' );
END IF;
SET nCont = nCont + nLen;
UNTIL nCont > LENGTH( A )
END REPEAT;
UNTIL ( z = 1 )
END REPEAT;
CLOSE SP_CURSOR;
SELECT cText;
END
Tem como deixar "mais Harbour" ?
Nota:
antigamente usava 6 números juntos sem separação, agora separados por vÃrgula, por isso a opção para os dois casos.
Por enquanto é teste, dá pra alterar todo passado usando vÃrgula, pra não precisar ficar testando se está de um jeito ou de outro.