PostgreSQL的分区表建立(3)

来源:未知 责任编辑:责任编辑 发表时间:2014-01-25 11:38 点击:
 
    ELSIF ( NEW.create_time >= DATE '2012-08-01' AND  
 
            NEW.create_time < DATE '2012-09-01' ) THEN  
 
        INSERT INTO test.parent_table_2012_08 VALUES (NEW.id,NEW.name,NEW.create_time);   
 
    ELSIF ( NEW.create_time >= DATE '2012-09-01' AND  
 
            NEW.create_time < DATE '2012-10-01' ) THEN  
 
        INSERT INTO test.parent_table_2012_09 VALUES (NEW.id,NEW.name,NEW.create_time);   
 
    ELSIF ( NEW.create_time >= DATE '2012-10-01' AND  
 
            NEW.create_time < DATE '2012-11-01' ) THEN  
 
        INSERT INTO test.parent_table_2012_10 VALUES (NEW.id,NEW.name,NEW.create_time);   
 
    ELSIF ( NEW.create_time >= DATE '2012-11-01' AND  
 
            NEW.create_time < DATE '2012-12-01' ) THEN  
 
        INSERT INTO test.parent_table_2012_11 VALUES (NEW.id,NEW.name,NEW.create_time);     www.2cto.com  
 
    ELSIF ( NEW.create_time >= DATE '2012-12-01' AND  
 
            NEW.create_time < DATE '2013-01-01' ) THEN  
 
        INSERT INTO test.parent_table_2012_12 VALUES (NEW.id,NEW.name,NEW.create_time);   
 
    ELSE  
 
        RAISE EXCEPTION 'Date out of range.Fix the test.parent_table_insert_trigger() function!';   
 
    END IF;   
 
    RETURN NULL;   
 
END;   
 
$$   
 
LANGUAGE plpgsql; 
 
4.创建触发器
 
CREATE TRIGGER tri_insert_parent_table  
 
    BEFORE INSERT ON test.parent_table   
 
    FOR EACH ROW EXECUTE PROCEDURE test.tri_parent_tab_insert(); 
 
5.测试
至此就OK了。前端插入时只要插入主表就可以自动将数据按时间分类分插到子表里去。
插入一定的测试数据,来看看效果
kenyon=# select count(1) from test.parent_table_2012_03;
  www.2cto.com  
  count  
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Request.ServerVariables 参数大全
  • 执行全文索引时出现权限不足的解决方法
  • 导入excel文件处理流程节点的解决方案
  • 查看sql修改痕迹(SQL Change Tracking on Table)
  • MongoDB安装为Windows服务方法与注意事项
  • App数据层设计及云存储使用指南
  • PostgreSQL启动过程中的那些事三:加载GUC参数
  • 写给MongoDB开发者的50条建议Tip1
  • Percolator与分布式事务思考(二)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1