您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

插入触发器最终在分区表中插入重复的行

插入触发器最终在分区表中插入重复的行

一种简单的方法是创建存储过程而不是触发器,例如add_foo([parameters]),触发器将决定哪个分区适合向其插入行并返回id(或新记录值,包括id)。例如:

CREATE OR REPLACE FUNCTION add_foo(
    _d_id   INTEGER
,   _label  VARCHAR(4)
) RETURNS BIGINT AS $$
DECLARE
    _rec    foo%rOWTYPE;
BEGIN
    _rec.id := nextval('foo_id_seq');
    _rec.d_id := _d_id;
    _rec.label := _label;
    EXECUTE 'INSERT INTO foo_' || ( _d_id % 2 ) || ' SELECT $1.*' USING _rec;
    RETURN _rec.id;
END $$ LANGUAGE plpgsql;
其他 2022/1/1 18:45:46 有476人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶