我必须编写一个触发器,将生成一个新的模式,在每个模式中,应该有两个固定的表。
当一个新的部门要注册时,触发器应该创建一个新的模式,并且它应该在每个模式中创建相同的两个表和它们的约束。
这可以是一个简单的行级触发器:
CREATE FUNCTION make_schema() RETURNS trigger
LANGUAGE plpgsql AS
$$BEGIN
EXECUTE format('CREATE SCHEMA %I', NEW.department_name);
EXECUTE format ('CREATE TABLE %I.tab1 (...)', NEW.department_name);
END;$$;
CREATE TRIGGER make_schema AFTER INSERT ON department_registration
FOR EACH ROW EXECUTE PROCEDURE make_schema();