I have the following table:
CREATE TABLE category (
id int NOT NULL DEFAULT nextval('_base_id_seq'::text) PRIMARY
KEY,
parentid int REFERENCES category ( id )
name text,
);
This allows me to have any number of subcategories without worrying
about how many someone might have.
And I have a function that sets the parentid to the parents parentid
(used when deleting a category) that looks like this:
CREATE FUNCTION "move_catparent" (int4 )
RETURNS int4
AS 'UPDATE category
SET parentid = ( SELECT parentid FROM category WHERE id = $1 )
WHERE parentid = $1;
SELECT 1 AS RESULT'
LANGUAGE 'SQL';
As it stands, I have to do the following when deleting a category:
SELECT move_catparent( <id of category being deleted> );
DELETE FROM category WHERE id=<id of category being deleted>;
I'd like to create a trigger so that I just have to delete the category
and the move_catparent function will be automatically called. I've read
the CREATE TRIGGER documentation, but I'm just not seeing it.
Can anyone give me some pointers? Thanks.
Alan