【发布时间】:2015-05-15 08:51:35
【问题描述】:
我需要每天在(yyMMdd) 的表格中创建名称为日期的表格,我试过这个:
dbadmin=> \set table_name 'select to_char(current_date, \'yyMMdd \')'
dbadmin=> :table_name;
to_char
---------
150515
(1 row)
然后尝试从设置的参数:table_name 中创建具有表名的表,但得到了这个
dbadmin=> create table :table_name(col1 varchar(1));
ERROR 4856: Syntax error at or near "select" at character 14
LINE 1: create table select to_char(current_date, 'yyMMdd ')(col1 va...
有没有一种方法可以让我将一个值存储在一个变量中,然后将该变量用作表名,或者分配内部 select 语句首先执行的优先级,以便给我所需的名称。
请推荐!!!
【问题讨论】:
-
使用 shell 脚本设置外部过程可能更容易。