x
1
DECLARE
2
pname ALIAS FOR $1;
3
4
pkeyid INTEGER;
5
BEGIN
6
SELECT INTO pkeyid gene_id
7
FROM gene
8
WHERE gene.name = pname;
9
IF NOT FOUND THEN
10
INSERT INTO gene
11
(name)
12
VALUES
13
(pname);
14
RETURN currval('gene_pk_seq');
15
END IF;
16
UPDATE gene
17
SET
18
19
WHERE
20
gene.name = pname
21
22
RETURN pkeyid;
23
END;