User Defined Functions Errors
От | A. Kulikov |
---|---|
Тема | User Defined Functions Errors |
Дата | |
Msg-id | fc63e1af05041811327a8b3061@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: User Defined Functions Errors
|
Список | pgsql-sql |
How to I return an error from inside a user defined function? For example the following: CREATE or REPLACE FUNCTION drop_node (integer) RETURNS text AS ' DECLARE mleft INTEGER; mright INTEGER; BEGIN -- Check if the desired node exists SELECT lft, rgt FROM structure WHERE id = $1 INTO mleft, mright; IF mleft IS NULL THEN RETURN ''No entry found with an id of ''||$2; END IF; -- Drop the node and its subtree DELETE FROM structure WHERE lft >= mleft AND rgt <= mright; -- Close the gap UPDATE structure SET rgt = rgt - (mright - mleft + 1) WHERE rgt > mright; UPDATE structure SET lft = lft - (mright - mleft + 1) WHERE lft > mleft; RETURN ''ok''; END; ' LANGUAGE 'plpgsql'; Should be terminated with an error @ RETURN "No Entry found"; instead of returning the error text. best regards and thanks, Alex -- The mind is essential -- http://essentialmind.com/
В списке pgsql-sql по дате отправления: