ora2pg
ora2pg copied to clipboard
OUT parameters are not converted in EXECUTE command
I got error report related to usage OUT parameters inside EXECUTE statement.
mLIDENT, mID_VALUE, mID_CISFOTO, mORIGINAL, mCESTAK, mVELIKOST, mNAZEV, clock_timestamp(), mID_ASPRAVCE, mID_APROVOZNA, mID_SKUP_CISEL, 'N', 'W', 'A', mVYBOR, out mID_OBPDOCUM;
This should be converted to EXECUTE USING INTO
Hi Pavel, can you provide a full code example please?
I have only fragments:
Oracle:
pINS := 'INSERT INTO OBPDOCUM (LIDENT, ' || mID_NAME || ', ID_CISFOTO, NAZEV_OBPDOCUM, CESTAK, VELIKOST_DOCUM, POZNAMKA, PLATNOST_OD'
|| ', ID_ASPRAVCE, ID_APROVOZNA, ID_SKUP_CISEL, DRUHAK, CVZNIKRADK, VIDI_NAJEMNIK, VYBOR ) VALUES ('
|| ':LIDENT, :ID_VALUE, :ID_CISFOTO, :ORIGINAL, :CESTAK, :VELIKOST, :NAZEV, :PLATNOST_OD'
|| ', :ID_ASPRAVCE, :ID_APROVOZNA, :ID_SKUP_CISEL, :DRUHAK, :CVZNIKRADK, :VIDI_NAJEMNIK, :VYBOR) returning ID_OBPDOCUM into :ID_OBPDOCUM';
EXECUTE pINS USING
mLIDENT, mID_VALUE, mID_CISFOTO, mORIGINAL, mCESTAK, mVELIKOST, mNAZEV, clock_timestamp(), mID_ASPRAVCE, mID_APROVOZNA, mID_SKUP_CISEL, 'N', 'W', 'A', mVYBOR, out mID_OBPDOCUM;
Translated to Postgres:
pINS := 'INSERT INTO OBPDOCUM (LIDENT, ' || mID_NAME || ', ID_CISFOTO, NAZEV_OBPDOCUM, CESTAK, VELIKOST_DOCUM, POZNAMKA, PLATNOST_OD'
|| ', ID_ASPRAVCE, ID_APROVOZNA, ID_SKUP_CISEL, DRUHAK, CVZNIKRADK, VIDI_NAJEMNIK, VYBOR ) VALUES ('
|| ':LIDENT, :ID_VALUE, :ID_CISFOTO, :ORIGINAL, :CESTAK, :VELIKOST, :NAZEV, :PLATNOST_OD'
|| ', :ID_ASPRAVCE, :ID_APROVOZNA, :ID_SKUP_CISEL, :DRUHAK, :CVZNIKRADK, :VIDI_NAJEMNIK, :VYBOR) returning ID_OBPDOCUM into :ID_OBPDOCUM';
EXECUTE pINS USING
mLIDENT, mID_VALUE, mID_CISFOTO, mORIGINAL, mCESTAK, mVELIKOST, mNAZEV, clock_timestamp(), mID_ASPRAVCE, mID_APROVOZNA, mID_SKUP_CISEL, 'N', 'W', 'A', mVYBOR, out mID_OBPDOCUM;
But there is error 42703:15:EXECUTE:column "out" does not exist
ok, I have never met this syntax so conversion it is not implemented. I will try to do something.
pá 17. 1. 2025 v 15:47 odesílatel Gilles Darold @.***> napsal:
ok, I have never met this syntax so conversion it is not implemented. I will try to do something.
I was very surprised too, but Oracle supports it
— Reply to this email directly, view it on GitHub https://github.com/darold/ora2pg/issues/1855#issuecomment-2598526334, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEFO446O4V5AKHWPXTT5ZT2LEJXPAVCNFSM6AAAAABVLIAOQSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKOJYGUZDMMZTGQ . You are receiving this because you authored the thread.Message ID: @.***>