如何在PostgreSQL中使用VALUES创建临时表

前端之家收集整理的这篇文章主要介绍了如何在PostgreSQL中使用VALUES创建临时表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在学习Postgresql并试图找出如何创建临时表或WITH声明,可以用来代替常规表,以进行调试.

我查看了CREATE TABLE的文档,它说VALUES可以用作查询,但没有给出任何示例;其中链接的VALUES子句的文档也没有例子?

所以,我写了一个简单的测试如下:

DROP TABLE IF EXISTS lookup;
CREATE TEMP TABLE lookup (
  key integer,val numeric
) AS
VALUES (0,-99999),(1,100);

但是Postgresql(9.3)正在抱怨

Syntax error at or near “AS”

我的问题是:

>我如何修复上述声明?
>我如何调整它以用于WITH块?

提前致谢.

如果您只想从某些值中进行选择,而不是仅仅创建一个表并插入其中,您可以执行以下操作:
WITH  temp (k,v) AS (VALUES (0,-9999),100)) 
SELECT * FROM temp;

要以类似的方式实际创建临时表,请使用:

WITH  vals (k,100)) 
SELECT * INTO temporary table  temp FROM vals;

猜你在找的Postgre SQL相关文章