Bom dia colegas,
Estou efetuando uma conversão de um banco Firebird para um banco Postgresql, porém estou tendo dificuldades com a sintaxe do postgres.
Gostaria de saber se alguém pode me ajudar e transformar essa procedure e a partir dela eu converto todas as outras.
Segue:
SET TERM ^ ;
CREATE OR ALTER PROCEDURE TBLSDOCTB0_GETSALDO (
conta integer,
empresa integer,
mes integer,
ano integer)
returns (
saldo decimal(15,2))
as
declare variable sql varchar(400);
begin
sql = ‘SELECT SDOANT ‘;
if (:Mes >= 1) then begin
sql = sql || ’ + (D01 - C01)’;
end
if (:Mes >= 2) then begin
sql = sql || ’ + (D02 - C02)’;
end
if (:Mes >= 3) then begin
sql = sql || ’ + (D03 - C03)’;
end
if (:Mes >= 4) then begin
sql = sql || ’ + (D04 - C04)’;
end
if (:Mes >= 5) then begin
sql = sql || ’ + (D05 - C05)’;
end
if (:Mes >= 6) then begin
sql = sql || ’ + (D06 - C06)’;
end
if (:Mes >= 7) then begin
sql = sql || ’ + (D07 - C07)’;
end
if (:Mes >= 8) then begin
sql = sql || ’ + (D08 - C08)’;
end
if (:Mes >= 9) then begin
sql = sql || ’ + (D09 - C09)’;
end
if (:Mes >= 10) then begin
sql = sql || ’ + (D10 - C10)’;
end
if (:Mes >= 11) then begin
sql = sql || ’ + (D11 - C11)’;
end
if (:Mes >= 12) then begin
sql = sql || ’ + (D12 - C12)’;
end
sql = sql || ’ as saldo FROM tblsdoctb0 ';
sql = sql || ’ WHERE idconta = ’ || :Conta;
sql = sql || ’ and ano = ’ || :ano;
sql = sql || ’ and idempresa = ’ || :empresa;
execute statement :Sql into :Saldo;
if (:saldo is null) then begin
saldo = 0;
end
suspend;
end^
SET TERM ; ^
Atenciosamente,