-1

我正在开发一个使用 Spring、Hibernate 和 PostgreSQL 9.1 的应用程序。要求是用户可以从浏览器上传批量数据。

现在每个用户上传的数据非常粗糙,需要大量验证才能放入实际的事务表中。我希望在用户上传时创建一个临时表;数据成功转储到这个临时表后,我将调用一个过程来执行验证并将数据从临时表中取出到事务表的实际工作。如果遇到任何错误,我会将日志转储到任何其他表,以便用户可以从浏览器了解他们上传的状态。

在 PostgreSQL 中,我们有类似临时的会话级表吗?

4

1 回答 1

1

9.1 手册

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name ( [
  { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ]
    | table_constraint
    | LIKE parent_table [ like_option ... ] }
    [, ... ]
] )
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace ]

这里的关键词是 TEMPORARY,尽管表不一定是临时的。它可能是您在插入之前截断的永久表。整个操作(插入和验证)必须包含在事务中。

于 2012-05-28T12:32:04.677 回答