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