· 8 years ago · May 15, 2018, 11:50 AM
1CREATE OR REPLACE FUNCTION public.rat_process_make_full_copy(_old_proc_uid uuid)
2 RETURNS SETOF rat_process AS
3$BODY$
4BEGIN
5DROP TABLE IF EXISTS temp_rat_process;
6
7CREATE TEMP TABLE IF NOT EXISTS temp_rat_process AS SELECT * FROM rat_process WHERE uid = _old_proc_uid;
8UPDATE temp_rat_process SET prev_proc_uid = _old_proc_uid, id = nextval('rat_process_id_seq'::regclass), uid = uuid_generate_v4(), date_add = now(), state_id = 1, is_archive = 0;
9
10RETURN QUERY
11INSERT INTO rat_process SELECT * FROM temp_rat_process returning rat_process.*;
12END;
13$BODY$
14 LANGUAGE plpgsql VOLATILE
15 COST 100
16 ROWS 1000;
17ALTER FUNCTION public.rat_process_make_full_copy(uuid)
18 OWNER TO general;