Converter CURSOR Oracle para Function POSTGRES

SQL Server

PostgreSQL

Oracle

09/03/2015

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

Curtidas 0

Respostas

Jair N.

Jair N.

09/03/2015

declare TESTE como um RECORD
GOSTEI 0
Vinicius Redorat

Vinicius Redorat

09/03/2015

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.
GOSTEI 0
POSTAR