Re: Create function using quote_literal issues

From: Mohamed DIA <macdia2002(at)gmail(dot)com>
To: pgsql-sql(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Create function using quote_literal issues
Date: 2019-05-23 10:09:52
Message-ID: CA+oNSn9M+qdZB8EePohw94PBDXrva2WuR8t3vyYU_ckv87seYw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-sql

I found the solution by defining r as record and using
FOR r in EXECUTE v_select

Thanks

On Thu, May 23, 2019 at 9:49 AM Mohamed DIA <macdia2002(at)gmail(dot)com> wrote:

> Hi,
> I am trying to use a create function in order to update some values in a
> table (see below code).
> However, when I run the function, it never enters into the following loop
> *FOR r IN SELECT * FROM immatriculationemployeursucctemp2 where
> succursale = quote_literal(s.succursale) order by row_number*
>
> However, if I remove the condition *where succursale =
> quote_literal(s.succursale)* then it works
>
> I need to filter on every value of succursale
> Is there a way to achieve it without removing ?
> Any help will be appreciated. I'm struggling with it for a while now
>
> CREATE OR REPLACE FUNCTION create_new_emp_succ_numbers() RETURNS SETOF
> list_succursale AS
> $BODY$
> DECLARE
> r immatriculationemployeursucctemp2%rowtype;
> s list_succursale%rowtype;
> seq_priv INTEGER := 1;
>
> BEGIN
>
> FOR s IN SELECT * FROM list_succursale where succursale
> in('010100062D1','010102492S1')
>
> LOOP
>
>
> FOR r IN SELECT * FROM immatriculationemployeursucctemp2 where
> succursale = quote_literal(s.succursale) order by row_number
>
>
> LOOP
>
> update immatriculationemployeursucctemp set no_employeur= '10' ||
> lpad(seq_priv::text,6,'0') || '0' || r.row_number-1 where employer_type=10
> and id=r.id;
>
>
>
> END LOOP;
> seq_priv := seq_priv + 1;
> RETURN NEXT s;
> END LOOP;
>
> RETURN;
> END
> $BODY$
> LANGUAGE 'plpgsql' ;
>
> SELECT * FROM create_new_emp_succ_numbers();
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Gierth 2019-05-23 10:44:20 Re: Patch to fix write after end of array in hashed agg initialization
Previous Message David Rowley 2019-05-23 10:02:52 Re: Excessive memory usage in multi-statement queries w/ partitioning

Browse pgsql-sql by date

  From Date Subject
Next Message RAJIN RAJ K 2019-05-28 14:36:16 Alternate methods for multiple rows input/output to a function.
Previous Message Mohamed DIA 2019-05-23 09:49:52 Create function using quote_literal issues