我试图在 postgresql sql 脚本中声明默认值 0 的整数变量:
DECLARE user_id integer;
Run Code Online (Sandbox Code Playgroud)
但它返回异常:
错误:“整数”处或附近的语法错误
我不确定如何声明一个变量,然后在 while 循环内使用该变量。
您必须将代码放入用户定义的函数中。它不适用于 sql 窗口。下面的示例是一个返回您发送的号码的函数。变量
--mybase is your database name. If public, remove it.
CREATE OR REPLACE FUNCTION mybase.my_new_rotine(numeric)
RETURNS numeric AS
$BODY$
--here, get the first variable from function
declare id numeric= $1;
begin
--return the number
return id;
end;
$BODY$
LANGUAGE plpgsql VOLATILE
Run Code Online (Sandbox Code Playgroud)
然后,您可以在 sql 窗口上使用它,如下所示:
select * from mybase.my_new_rotine(1)
Run Code Online (Sandbox Code Playgroud)
将返回 1
小智 5
不能在 SQL 语句中使用 DECLARE。你想要做的事情需要plpgsql。danielarend 的答案是正确的,但您可能想探索 DO(https://www.postgresql.org/docs/current/static/sql-do.html),它可以让您编写即席 plpgsql,而无需定义函数。
| 归档时间: |
|
| 查看次数: |
18227 次 |
| 最近记录: |