函数插入 new.values + 来自 a1.t1 的值,在 postgresql 上

Function insert new.values + values from a1.t1, on postgresql

我有2张桌子
主题(sub_id、sub_title、dep_id...)
部门(dep_id、dep_name...)

我的功能必须记录一个新主题('maths'),以及 dep_id 对应的(其中 dep_name = 科学),然后 return sub_id

CREATE OR REPLACE FUNCTION insert_sujet (param_title varchar, dep_name varchar)
RETURNS integer AS $$
INSERT INTO sujets (suj_id, suj_title, dep_id) 

SELECT NEW.dep_id FROM departements 
WHERE d.dep_name=
RETURNING suj_id, NEW;
$$ LANGUAGE 'plgsql' VOLATILE;

我知道这个但不明白如何将这个函数与插入新值结合起来

CREATE OR REPLACE FUNCTION f_insert (p_r1, p_r2)
RETURNS integer AS $$
INSERT INTO table (r1, r2) VALUES (, )
RETURNING r1_id;
$$ LANGUAGE 'sql' VOLATILE;
CREATE OR REPLACE FUNCTION f_insert (p_r1, p_r2)
RETURNS integer AS $$
INSERT INTO table (r1, r2) VALUES (, (SELECT r2 INTO .. AS ... =)
RETURNING r1_id;
$$ LANGUAGE 'sql' VOLATILE;

最好做一个子查询。