Re: Procedure failing after upgrade
От | Jie Liang |
---|---|
Тема | Re: Procedure failing after upgrade |
Дата | |
Msg-id | E7E213858379814A9AE48CA6754F5ECB1E1F8E@mail01.stbernard.com обсуждение исходный текст |
Ответ на | Procedure failing after upgrade ("patkins" <patkins@killinglyschools.org>) |
Список | pgsql-sql |
Are you using 7.4.x now? If so, I think the problem is condition: WHILE id_array[count_it] LOOP Change it to: WHILE id_array[count_it] NOTNULL LOOP Jie Liang -----Original Message----- From: patkins [mailto:patkins@killinglyschools.org] Sent: Tuesday, May 04, 2004 6:32 AM To: pgsql-sql@postgresql.org Subject: [SQL] Procedure failing after upgrade All, I just upgraded to the latest version from 7.2.x and now a procedure is failing. Please tell me what I'm doing wrong! Original Func: SELECT generateinvoice('{123,124}'); CREATE FUNCTION "generateinvoice" (integer[]) RETURNS integer AS ' DECLARE id_array ALIAS for $1; temppk INT4; count_it INT; BEGIN count_it := 1; SELECT INTO temppk nextval(''t_invoice_invoice_id_seq''); INSERT INTO t_invoice (invoice_id, created_date, invoice_status_id, modified_date) VALUES (temppk, CURRENT_TIMESTAMP(2), ''1'', CURRENT_TIMESTAMP(2)); WHILE id_array[count_it] LOOP UPDATE t_event SET invoice_id=temppk, event_status_id=''5'' WHERE event_id=id_array[count_it]; count_it := count_it + 1; END LOOP; -- TEST COUNT RETURN (count_it - 1); RETURN temppk; END;' LANGUAGE 'plpgsql'; My Latest Attempt: SELECT generateinvoice('{123,124}'); CREATE FUNCTION "generateinvoice" (anyarray) RETURNS integer AS ' DECLAREid_array ALIAS for $1;temppk INT4;count_it INT; BEGIN count_it := 1; SELECT INTO temppk nextval(''t_invoice_invoice_id_seq''); INSERT INTO t_invoice (invoice_id, created_date, invoice_status_id, modified_date) VALUES (temppk, CURRENT_TIMESTAMP(2), ''1'', CURRENT_TIMESTAMP(2)); WHILE id_array[count_it] LOOP UPDATE t_project SET invoice_id=temppk, project_status_id=''5'' WHERE project_id=id_array[count_it]; count_it := count_it + 1; END LOOP; RETURN temppk;END; ' LANGUAGE 'plpgsql'; ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend
В списке pgsql-sql по дате отправления: