Thread: Problem with Escape charactor
Dear Friends,
I am working with Postgres 7.3.4 on RH Linux 7.2 . I am executing a dynamic query inside a PL/pgSQL procedure and I am having the following problem.
While a line in the PL/pgSQL function is like the following
EXECUTE 'update "WATS".action_plan_master set rec_deleted_flag = 'Y' WHERE action_plan_id IN ('|| p_action_plan_ids || ')';
I got the following error.
ERROR: parser: parse error at or near "Y" at character 68
While
EXECUTE 'update "WATS".action_plan_master set rec_deleted_flag = '|| 'Y' ||' WHERE action_plan_id IN ('|| p_action_plan_ids || ')';
Error is
ERROR: Attribute "y" not found
While
EXECUTE 'update "WATS".action_plan_master set rec_deleted_flag = '|| \'Y\' ||' WHERE action_plan_id IN ('|| p_action_plan_ids || ')';
Error is
WARNING: plpgsql: ERROR during compile of sp_del_met_001 near line 47
ERROR: unterminated string
ERROR: unterminated string
How can I specify a string charactor, as the PgAdmin3 is not using double quotes for Strings. Anyone pls shed some light.
Regards
Kumar
Kumar,
Have you tried
EXECUTE 'update "WATS".action_plan_master set rec_deleted_flag = \'Y\' WHERE action_plan_id IN ('|| p_action_plan_ids || ')'; ^ ^
HTH,
George
----- Original Message -----From: KumarTo: psqlSent: Tuesday, October 07, 2003 7:57 AMSubject: [SQL] Problem with Escape charactorDear Friends,I am working with Postgres 7.3.4 on RH Linux 7.2 . I am executing a dynamic query inside a PL/pgSQL procedure and I am having the following problem.While a line in the PL/pgSQL function is like the followingEXECUTE 'update "WATS".action_plan_master set rec_deleted_flag = 'Y' WHERE action_plan_id IN ('|| p_action_plan_ids || ')';I got the following error.ERROR: parser: parse error at or near "Y" at character 68WhileEXECUTE 'update "WATS".action_plan_master set rec_deleted_flag = '|| 'Y' ||' WHERE action_plan_id IN ('|| p_action_plan_ids || ')';Error isERROR: Attribute "y" not foundWhileEXECUTE 'update "WATS".action_plan_master set rec_deleted_flag = '|| \'Y\' ||' WHERE action_plan_id IN ('|| p_action_plan_ids || ')';Error isWARNING: plpgsql: ERROR during compile of sp_del_met_001 near line 47
ERROR: unterminated stringHow can I specify a string charactor, as the PgAdmin3 is not using double quotes for Strings. Anyone pls shed some light.RegardsKumar