Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 在存储过程中使用SELECT INTO[tableName]无效_Postgresql - Fatal编程技术网

Postgresql 在存储过程中使用SELECT INTO[tableName]无效

Postgresql 在存储过程中使用SELECT INTO[tableName]无效,postgresql,Postgresql,我正在尝试使用表中的表名 SELECT INTO [tableName] 但它抱怨说[tableName]应该是记录变量、行变量或标量变量列表。如何将select的结果放入表中,而不是存储过程中的变量?是否希望插入到。。。选择查询,而不是选择进入。例如: INSERT INTO my_table (name, my_avg) SELECT name, AVG(col) FROM your_table GROUP BY name 除非您确实想要创建一个新表,否则SELECT INTO应该可以正

我正在尝试使用表中的表名

SELECT INTO [tableName]

但它抱怨说[tableName]应该是记录变量、行变量或标量变量列表。如何将select的结果放入表中,而不是存储过程中的变量?

是否希望插入到。。。选择查询,而不是选择进入。例如:

INSERT INTO my_table (name, my_avg) SELECT name, AVG(col) FROM your_table GROUP BY name
除非您确实想要创建一个新表,否则SELECT INTO应该可以正常工作:

vsavard_db=> SELECT 1 INTO b;
SELECT
Time : 47,268 ms
vsavard_db=> SELECT * FROM b;
 ?column? 
----------
        1
(1 line)

您的语法错误,根据您的存储过程,您应该遵循以下模式:

SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
* | expression [ AS output_name ] [, ...]
INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY expression [, ...] ]
[ HAVING condition [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]
[ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ]
[ LIMIT { count | ALL } ]
[ OFFSET start ]
[ FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT ] ]

例如:选择*进入my_表,其中x=@myParam

如本手册所述:

不能在pl/pgSQL过程中使用该语法

您需要使用以下语法:

CREATE TABLE new_table AS SELECT .... 新建表格 作为 选择。。。。
是否要添加到现有表中?或者尝试创建一个名为“my_table”的新表?在列选择之前或之后输入将导致相同的结果。输入后应为记录变量、行变量或标量变量列表。编写PlPgSQL存储过程时,阅读有关PlPgSQL的文档通常更容易…当作者如此懒惰时,回答此类问题的原因是什么,他/她在这里写问题比阅读文档更容易。。。你不喜欢花时间回答吗?@valgog:我希望(!)作者会感到羞愧,因为他发现在手册中找到这样的东西是多么容易。