PostgreSql-声明整数变量
我正在尝试在postgresql脚本中声明默认值为0的整数变量:PostgreSql-声明整数变量,postgresql,Postgresql,我正在尝试在postgresql脚本中声明默认值为0的整数变量: DECLARE user_id integer; 但它返回异常: 错误:“整数”处或附近出现语法错误 我不知道如何声明一个变量,然后在while循环中使用这个变量。必须将代码放入用户定义的函数中。它在sql窗口上不起作用。下面的示例是一个返回您发送的数字的函数。变量 --mybase is your database name. If public, remove it. CREATE OR REPLACE FUNCTI
DECLARE user_id integer;
但它返回异常:
错误:“整数”处或附近出现语法错误
我不知道如何声明一个变量,然后在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
然后,您可以在sql窗口上使用它,如下所示:
select * from mybase.my_new_rotine(1)
将返回1,您不能在SQL语句中使用DECLARE。您要执行的操作需要plpgsql。Danieland的答案是正确的,但您可能希望探索DO(),它允许您编写临时plpgsql,而无需定义函数