1 CREATE OR REPLACE FUNCTION copierContainer (id_container todolist_container.id%TYPE) RETURNS INTEGER AS $copierContainer$
2 DECLARE copy_id todolist_container.id%TYPE;
5 INSERT INTO todolist_container (name, description, state, create_uid) (
6 SELECT 'Copy of ' || name, description, 'draft', create_uid
7 FROM todolist_container
8 WHERE id = id_container
11 SELECT currval(pg_get_serial_sequence('todolist_container', 'id')) INTO copy_id;
13 INSERT INTO todolist_task (name, description, container_id, milestone, planned, manday, priority, create_uid) (
14 SELECT name, description, copy_id, milestone, planned, manday, priority, create_uid
16 WHERE container_id = id_container
19 INSERT INTO todolist_container_topic_rel (container_id, topic_id) (
20 SELECT copy_id, topic_id
21 FROM todolist_container_topic_rel
22 WHERE container_id = id_container
26 $copierContainer$ LANGUAGE plpgsql;
29 -- SELECT copierContainer(3);