Postgres - 将表名作为参数传递并将结果存储在文件中

时间:2014-04-25 11:56:23

标签: database postgresql postgresql-8.4

    Create Or Replace Function totalRecords (tablename TEXT) Returns integer as $total$
    Declare
      total integer;

      Begin
       select count  (*)  into  total  from''|| tablename ||' 'where now() - cast(date_dimension_year||'-'||date_dimension_month||'-'||date_dimension_day AS date) < INTERVAL '3 months' ;
        RETURN total;
       END;
$total$ LANGUAGE plpgsql;

我有一个任务是创建一个函数,在满足条件下将结果输出到文本文件时检查数据库中给定条件的记录。上面粘贴的代码就是我一直玩的没有成功。我得到的语法错误....任何人都可以指导我吗?我正在使用postgres DB。

1 个答案:

答案 0 :(得分:0)

我按照这种方式对问题进行了分类

 Begin
 execute 'select count(*) from ' ||tablename||
' where cast(date_dimension_year || ''-'' || date_dimension_month || ''-''||date_dimension_day as date) 
not between (current_date - interval ''13 months'') and current_date' into total ;

我必须在结尾处分配整数总数,并且正确关闭引号(')对我有效。(我只是粘贴了一部分功能,我正在解决问题)

感谢您的帮助。