gpt4 book ai didi

postgresql - 通过 postgres 声明变量不在函数中

转载 作者:行者123 更新时间:2023-11-29 11:38:33 24 4
gpt4 key购买 nike

我想在 postgres 中声明变量而不是在函数中...

Declare
c varchar;
a integer;
b integer;

select b = count (*) from table

set a = 1
while a <= b
begin

select c = [c] from table where id = a

if (c = '1')
insert into table2 select(*) from table

end


set a = a+1

但错误 ERROR: "varchar"处或附近的语法错误第 2 行:c 变量; ^我希望任何人都可以帮助我

最佳答案

如果您使用的是 9.0,则可以使用 DO 语句使用匿名 block :

http://www.postgresql.org/docs/current/static/sql-do.html

在 9.0 之前你不能使用匿名 pl/pgSQL block ,你需要为此创建一个函数。

此外,您的 pl/pgSQL 语法完全错误。

同一行中不能有赋值语句和 WHILE 语句。您还缺少 WHILE 循环的其他 requird 关键字。

请引用手册学习正确的语法:

http://www.postgresql.org/docs/current/static/plpgsql-control-structures.html#AEN50163

从 select 中读取值到变量的语法也是错误的。

检索 SELECT 结果的正确语法是:

SELECT count(*) 
INTO b
FROM some_table;

也请查看手册:

http://www.postgresql.org/docs/current/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-ONEROW

关于postgresql - 通过 postgres 声明变量不在函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5456581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com