Re: Create function using quote_literal issues

Поиск
Список
Период
Сортировка
От Mohamed DIA
Тема Re: Create function using quote_literal issues
Дата
Msg-id CA+oNSn9M+qdZB8EePohw94PBDXrva2WuR8t3vyYU_ckv87seYw@mail.gmail.com
обсуждение исходный текст
Ответ на Create function using quote_literal issues  (Mohamed DIA <macdia2002@gmail.com>)
Список 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@gmail.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();

В списке pgsql-sql по дате отправления:

Предыдущее
От: Mohamed DIA
Дата:
Сообщение: Create function using quote_literal issues
Следующее
От: RAJIN RAJ K
Дата:
Сообщение: Alternate methods for multiple rows input/output to a function.