x
1
DECLARE2
psubj_feature_id ALIAS FOR $1;3
pobj_feature_id ALIAS FOR $2;4
ptype_id ALIAS FOR $3;5
6
pkeyid INTEGER;7
BEGIN8
SELECT INTO pkeyid feature_relationship_id9
FROM feature_relationship10
WHERE feature_relationship.subj_feature_id = psubj_feature_id AND11
feature_relationship.obj_feature_id = pobj_feature_id AND12
feature_relationship.type_id = ptype_id;13
IF NOT FOUND THEN14
INSERT INTO feature_relationship 15
(subj_feature_id, obj_feature_id, type_id)16
VALUES17
(psubj_feature_id, pobj_feature_id, ptype_id);18
RETURN currval('feature_relationship_pk_seq');19
END IF;20
UPDATE feature_relationship21
SET22
23
WHERE24
feature_relationship.subj_feature_id = psubj_feature_id AND25
feature_relationship.obj_feature_id = pobj_feature_id AND26
feature_relationship.type_id = ptype_id27
28
RETURN pkeyid;29
END;