首页 > 解决方案 > 运行带有连接日期到表名的 INSERT 语句

问题描述

是否可以运行查询,将日期连接到表中以获取所需的表?

如:

INSERT INTO schema.table_ || replace(cast(now()::date  AS varchar), '-', '_') ||
(row,id,value,date) VALUES
...;

我要访问的表名是 table_2020_12_14?

标签: sqlpostgresqlsql-insert

解决方案


不,那是不可能的。您必须首先将语句生成为字符串,然后执行它。一种方法是在 PL/pgSQL 中使用EXECUTE.

如果那是一个表分区,那么这个练习是没有必要的,你可以直接插入到分区表中。


推荐阅读