我使用Oracle编写PL / SQL脚本,并且我正在使用PostgreSQL尝试我的第一个PL / pgSQL脚本。例如,我创建了这个test.sql文件。
DECLARE
v_loc_nbr INTEGER;
BEGIN
v_loc_nbr := 0;
END;
我尝试使用命令行执行:
\postgresql\9.3\bin\psql.exe -d postgres -f test.sql
但我得到的语法错误如下:
psql:test.sql:4:错误:语法错误在或附近" v_loc_nbr"
我认为问题是当我希望它运行PL / pgSQL时尝试执行SQL。该命令应该是什么?
答案 0 :(得分:1)
与其他procedural languages一样,您无法直接投放PL/pgSQL
您只能运行SQL。在function正文中使用plpgsql或在DO
命令中包含DO
命令的范围,因为它们无法返回数据。
查看plpgsql代码中的示例。
答案 1 :(得分:0)