Converter CURSOR Oracle para Function POSTGRES

09/03/2015

0

Bom dia, a todos!

Alguém saberia como converter um CURSOR (abaixo funciona no Oracle) para uma FUNCTION no banco de dados POSTGRES 9.1?

DECLARE
/** VALOR INICIAL DA VARIAVEL**/
v_SALDO TBESTOQUETANQUES.INICIAL%TYPE := 4319.74;

BEGIN
FOR TESTE IN (

SELECT CODIGO,DATA,DESCRICAO,INICIAL,COMPRAS,VENDAS,PERIODO FROM TBESTOQUETANQUES ORDER BY PERIODO)
LOOP
/** IRAR ALTERAR O INICIAL DE ACORDO COM O VALOR QUE ESTÁ NA MINHA VARIAVEL**/
UPDATE TBESTOQUETANQUES SET INICIAL=v_SALDO WHERE CODIGO=TESTE.CODIGO;


/** MOSTRAR COMO ESTÁ INDO**/
DBMS_OUTPUT.PUT_LINE(TESTE.CODIGO||' ---- '||TESTE.DATA||' ---- '||
TESTE.DESCRICAO||' ---- '||TESTE.INICIAL||' ---- '||TESTE.COMPRAS||' ---- '||TESTE.VENDAS||' ---- '||TESTE.PERIODO);


/** EFETUO O CALCULO PARA IDENTIFICAR O VALOR DO PROXIMO REGISTRO DO INICIAL**/
SELECT ((INICIAL-VENDAS)+COMPRAS) INTO v_SALDO FROM TBESTOQUETANQUES
WHERE CODIGO=TESTE.CODIGO;

COMMIT;
END LOOP;

END;


Abraço
Vinicius Redorat

Vinicius Redorat

Responder

Posts

09/03/2015

Jair N.

declare TESTE como um RECORD
Responder

09/03/2015

Vinicius Redorat

Boa tarde, Jair!

Primeiramente obrigado pelo retorno.

Referente sua resposta, declarei TESTE como Record, mas, não o cursor não roda no POSTGRES, e sim no Oracle.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar