我是PostgreSQL新手,正在使用PGAdmin中的查询工具。我试图运行使用变量的pgsql查询,但语法似乎不正确。
下面是一个提供语法错误的示例查询:
DECLARE
num INTEGER;
BEGIN
num := 3;
PRINT num;
END;更新:
好吧,让我来解释一下。我来自SQL server背景。在管理演播室中,我可以打开一个查询窗口并播放(T)-SQL查询。
例如,我可以这样写:
DECLARE @num INT
SET @num = 3
SELECT @num我知道这是一个愚蠢的例子,但我只是想声明一个变量,然后用它做一些事情。我正在尝试熟悉PL/PGSQL。
再次更新:
又是我。我正在尝试下面的脚本,并得到一个"ERROR 7.0-2:语法错误,意外字符“。这在PGAdmin中是有用的吗?
DECLARE
num INTEGER;
BEGIN
num := 3;
RAISE NOTICE '%', num;
END;发布于 2014-01-17 11:02:55
您可以使用do语句。例如:
do $$
declare
num integer := 10;
begin
RAISE INFO 'VARIABLE: %', num;
end;
$$language plpgsql;当您使用pgadmin时,您必须使用按钮执行查询,而不是执行pdScript,如下所示:
do语句的文档如下:
发布于 2009-12-14 11:50:37
只是为了重新定义和“具体化”其他人说的话:在中没有内联过程。还有没有打印语句。你必须:
CREATE OR REPLACE FUNCTION test() RETURNS void AS $$
DECLARE
num INTEGER;
BEGIN
num := 3;
RAISE NOTICE '%', num;
END;
$$ LANGUAGE plpgsql;
SELECT test();发布于 2009-12-14 05:57:02
如果您试图打印出num (例如,用于调试),您可以尝试:
RAISE NOTICE '%', num;http://www.postgresql.org/docs/8.4/static/plpgsql-errors-and-messages.html
PRINT在PL/pgSQL中没有任何意义。
https://stackoverflow.com/questions/1899123
复制相似问题