【发布时间】:2016-02-22 23:05:48
【问题描述】:
我的最终目标是完成一个需要使用临时表的 Postgresql 函数。由于语法错误,尝试创建临时表本身不起作用。我很确定我的语法是正确的,所以有人可以告诉我我在这里做错了什么吗?
在 PGAdmin III 中,我打开一个查询窗口并输入以下内容:
create temporary table tmp_parts
(
id serial not null,
part_number character varying(255) not null,
max_price numeric(19,2) not null
);
当我运行解释查询功能来测试语法时,我收到以下错误:
ERROR: syntax error at or near "serial"
LINE 3: id serial not null,
^
********** Error **********
ERROR: syntax error at or near "serial"
SQL state: 42601
Character: 98
我做错了什么?
【问题讨论】:
-
当我在 Postgres 9.3 中运行时,您的查询运行良好。
-
@DJTripleThreat 如果你想“测试语法”,换句话说,在不实际修改数据库的情况下执行查询,但同时在语法好坏时得到警报,你可以在事务中做并回滚它。即:
START TRANSACTION; /*then your query*/ ROLLBACK; -
@Gabriel'sMessanger 谢谢!几分钟前我就知道了。这非常有用。
标签: sql postgresql postgresql-9.3 create-table