Mar*_*tin 2 postgresql ddl timestamp dynamic-sql postgresql-9.4
我经常在PostgreSQL(9.4.1)中重新创建一个表,就像这样:
DROP TABLE IF EXISTS test.foo;
CREATE TABLE test.foo AS
SELECT * FROM test.dagi_kommune
WHERE ST_Area(wkb_geometry) < 500;
Run Code Online (Sandbox Code Playgroud)
我想在表格中添加注释,说明创建表格的时间.创建基本注释没有问题,如下所示:
COMMENT ON TABLE test.foo IS 'Table create date: ';
Run Code Online (Sandbox Code Playgroud)
我还可以生成一个独立的时间戳,如下所示:
SELECT to_char(LOCALTIMESTAMP, 'YYYY-MM-DD HH:MI:SS');
Run Code Online (Sandbox Code Playgroud)
但是如果我试着把时间戳放在评论中,就像这样:
COMMENT ON TABLE test.foo IS to_char(LOCALTIMESTAMP, 'YYYY-MM-DD HH:MI:SS');
Run Code Online (Sandbox Code Playgroud)
我收到以下回复:
Run Code Online (Sandbox Code Playgroud)ERROR: syntax error at or near "to_char" LINE 10: COMMENT ON TABLE test.foo IS to_char(LOCALTIMESTAMP, 'YYYY-M... ^ ********** Error ********** ERROR: syntax error at or near "to_char" SQL state: 42601 Character: 276
如何在表格评论中加入当前的"日期和时间"?
您必须将该语句构建并执行为动态SQL.
DO
$do$
BEGIN
EXECUTE format($$COMMENT ON TABLE b2 IS 'Table create date: %s'$$, LOCALTIMESTAMP);
END
$do$
Run Code Online (Sandbox Code Playgroud)
详细说明:
旁白:我跳过了,to_char()因为你想要的输出是时间戳的默认(ISO 8601)文本表示.
| 归档时间: |
|
| 查看次数: |
343 次 |
| 最近记录: |