use*_*745 5 postgresql syntax plpgsql
我有一个非常简单的PL/pgSQL脚本:
declare x varchar(100);
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我收到一条消息:
[WARNING ] declare x varchar(100)
ERROR: syntax error at or near "varchar"
LINE 1: declare x varchar(100)
^
Run Code Online (Sandbox Code Playgroud)
我真的不明白这有什么问题.
Pav*_*ule 16
你只能在PostgreSQL中的函数体内使用过程语句.
CREATE OR REPLACE FUNCTION foo()
RETURNS int AS
$$ -- here start procedural part
DECLARE x int;
BEGIN
x := 10;
RETURN x;
END;
$$ -- here finish procedural part
LANGUAGE plpgsql; -- language specification
Run Code Online (Sandbox Code Playgroud)
或者在临时功能中(匿名阻止)
DO $$
DECLARE x int;
BEGIN
x := 10;
RAISE NOTICE '>>>%<<<', x;
END;
$$;
Run Code Online (Sandbox Code Playgroud)
不能将过程语句用作T-SQL之类的SQL语句.
| 归档时间: |
|
| 查看次数: |
6762 次 |
| 最近记录: |