Function Problem
От | Sharon Cowling |
---|---|
Тема | Function Problem |
Дата | |
Msg-id | 200201300142.g0U1gFt16798@lambton.sslnz.com обсуждение исходный текст |
Ответы |
Re: Function Problem
|
Список | pgsql-novice |
I have a problem with a function I am creating: CREATE FUNCTION overdue_key() returns int as ' BEGIN UPDATE faps_key SET status = ''Overdue'' WHERE (select key_code from faps_key where date_key_due > current_date); RETURN 1; END;' LANGUAGE 'plpgsql'; user=> select overdue_key(); ERROR: WHERE clause must return type bool, not type varchar I understand the error message, but I am unsure as to how to go about achieving my desired results. I know how to do this using cursors inside a stored procedure in Oracle, but I understand that I cannot use cursors insidea function in Postgres in the version I am using: 7.1.3 If a key is overdue - (the date_key_due > current_date) then I want to update the status of each over due key to 'Overdue' Example of faps_table: user=> select key_code, permit_id, date_key_issued, date_key_due, status from faps_key; key_code | permit_id | date_key_issued | date_key_due | status ----------+-----------+-----------------+--------------+----------- B4 | | | | Available A13 | | | | Available B1 | | | | Available A11 | 1141 | 29/01/2002 | 02/02/2002 | Issued A14 | 1145 | 29/01/2002 | 12/02/2002 | Issued A12 | 1146 | 29/01/2002 | 02/02/2002 | Issued B2 | 1147 | 29/01/2002 | 03/02/2002 | Issued B3 | | | | Available B5 | 1148 | 29/01/2002 | 01/02/2002 | Issued A15 | 1149 | 29/01/2002 | 30/01/2002 | Issued List of current overdue keys, they have a status of issued, when function is run I want to update the status to 'Overdue' user=> select key_code, permit_id, status from faps_key where date_key_due > current_date; key_code | permit_id | status ----------+-----------+-------- A11 | 1141 | Issued A14 | 1145 | Issued A12 | 1146 | Issued B2 | 1147 | Issued B5 | 1148 | Issued (5 rows) Any ideas, pointers, documentation?! Regards, Sharon Cowling
В списке pgsql-novice по дате отправления: