Exemplos funcionais de SQLs sob FB 2.1.1

Firebird

07/08/2009

Colegas, venho postar espontaneamente alguns códigos de exemplos executados sob FB 2.1.1

UPDATE NFVENDA SET
CODCFOPCST = (SELECT CFOPCST.CODIGO FROM CFOPCST WHERE NFVENDA.CODCFOP=CFOPCST.CODCFOP AND NFVENDA.CODSITUACAOTRIBUTARIA=CFOPCST.CODSITUACAOTRIBUTARIA);

CREATE OR ALTER PROCEDURE CRIARCFOPCST 
AS
DECLARE VARIABLE AUXCODSITUACAOTRIBUTARIA INTEGER;
DECLARE VARIABLE AUXCODCFOP INTEGER;
BEGIN
  FOR SELECT CODCFOP, CODSITUACAOTRIBUTARIA FROM NFVENDA GROUP BY CODCFOP, CODSITUACAOTRIBUTARIA
  INTO AUXCODCFOP, AUXCODSITUACAOTRIBUTARIA DO
  BEGIN
    INSERT INTO CFOPCST (CODIGO, CODCFOP, CODSITUACAOTRIBUTARIA) VALUES (NEXT VALUE FOR G_CFOPCST, :AUXCODCFOP, :AUXCODSITUACAOTRIBUTARIA);
  END
  SUSPEND;
END;

GRANT SELECT ON NFVENDA TO PROCEDURE CRIARCFOPCST;

GRANT INSERT ON CFOPCST TO PROCEDURE CRIARCFOPCST;

GRANT EXECUTE ON PROCEDURE CRIARCFOPCST TO SYSDBA;



EXECUTE PROCEDURE CRIARCFOPCST;

UPDATE CFOPCST SET
CFOPCST = (SELECT CFOP.CODIGOINTERNO FROM CFOP WHERE CFOPCST.CODCFOP=CFOP.CODIGO) || ´ - ´ || (SELECT SITUACAOTRIBUTARIA.SITUACAOTRIBUTARIA FROM SITUACAOTRIBUTARIA WHERE CFOPCST.CODSITUACAOTRIBUTARIA=SITUACAOTRIBUTARIA.CODIGO);

DROP PROCEDURE CRIARCFOPCST;


Os exemplos estão corretos e funcionam 100¬

Tem exemplo com select na atribuição do valor ao campo
For select com group by e insert com NEXT VALUE FOR
Tem exemplo com select com concatenação na atribuição do valor ao campo


Delmar

Delmar

Curtidas 0
POSTAR