x
1
DECLARE
2
pfeature_id ALIAS FOR $1;
3
pcvterm_id ALIAS FOR $2;
4
ppub_id ALIAS FOR $3;
5
6
pkeyid INTEGER;
7
BEGIN
8
SELECT INTO pkeyid feature_cvterm_id
9
FROM feature_cvterm
10
WHERE feature_cvterm.feature_id = pfeature_id AND
11
feature_cvterm.cvterm_id = pcvterm_id AND
12
feature_cvterm.pub_id = ppub_id;
13
IF NOT FOUND THEN
14
INSERT INTO feature_cvterm
15
(feature_id, cvterm_id, pub_id)
16
VALUES
17
(pfeature_id, pcvterm_id, ppub_id);
18
RETURN currval('feature_cvterm_pk_seq');
19
END IF;
20
UPDATE feature_cvterm
21
SET
22
23
WHERE
24
feature_cvterm.feature_id = pfeature_id AND
25
feature_cvterm.cvterm_id = pcvterm_id AND
26
feature_cvterm.pub_id = ppub_id
27
28
RETURN pkeyid;
29
END;