Posakhalitsa, ambiri akukumana ndi kufunikira kokonza kwambiri china chake patebulo. Ndatero kale ndiuzeni momwe ndingachitire bwino, ndi momwe - ndibwino kuti musachite. Lero ndilankhula za gawo lachiwiri lakusintha kwamisa - za zoyambitsa.
Mayina a parameter yowonjezera amalembedwa motere: dzina lowonjezera lotsatiridwa ndi dontho ndiyeno dzina la parameter palokha, lofanana ndi mayina azinthu zonse mu SQL. Mwachitsanzo: plpgsql.variable_conflict.
Chifukwa zosankha zakunja zimatha kukhazikitsidwa m'njira zomwe sizimakweza gawo loyenera lowonjezera, PostgreSQL imavomereza Makhalidwe a mayina aliwonse okhala ndi zigawo ziwiri.
Choyamba, timamaliza choyambitsa, monga chonchi:
BEGIN
-- ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅
IF current_setting('mycfg.my_table_convert_process') = 'TRUE' THEN
IF TG_OP IN ('INSERT', 'UPDATE') THEN
RETURN NEW;
ELSE
RETURN OLD;
END IF;
END IF;
...
Mwa njira, izi zikhoza kuchitika "chifukwa cha phindu", popanda kutsekereza, kupyolera CREATE OR REPLACE kwa ntchito yoyambitsa. Ndiyeno mu mgwirizano wapadera ife tambala "chathu" variable:
SET mycfg.my_table_convert_process = 'TRUE';
UPDATE ...;
SET mycfg.my_table_convert_process = ''; -- Π²Π΅ΡΠ½ΡΠ»ΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅