最近被派了个活,要整一个postgres存储过程的脚本,然而本人并不会玩postgres,而且也没接触过存储过程,这几天不知道走了踩了多少坑。
由于数据量比较大,故需要分区处理。在成功对原表进行散列分区并存入测试数据之后,领导说验证一下分区表数据条数与输入的测试数据条数是否一致,于是要查询分区表的数据条数。
由于分区表的个数较多,不想一个个手动输入再查找,于是采用存储过程动态拼接分区表名并进行查询。
第一个坑:静态执行select无法使用拼接的表名
create or replace function get_line_number(table_name_t varchar) returns integer as $$
declare
line_number integer