如何声明变量以用于PostgreSQL 8.3查询?
在MS SQL Server中,我可以这样做:
DECLARE @myvar INT
SET @myvar = 5
SELECT *
FROM somewhere
WHERE something = @myvar
Run Code Online (Sandbox Code Playgroud)
我如何在PostgreSQL中做同样的事情?根据文档变量被简单地声明为"名称类型;",但这给了我一个语法错误:
myvar INTEGER;
Run Code Online (Sandbox Code Playgroud)
有人能给我一个正确语法的例子吗?
在MS SQL Server中,我创建脚本以使用可自定义的变量:
DECLARE @somevariable int
SELECT @somevariable = -1
INSERT INTO foo VALUES ( @somevariable )
Run Code Online (Sandbox Code Playgroud)
然后我将@somevariable在运行时更改值,具体取决于我在特定情况下所需的值.由于它位于脚本的顶部,因此很容易看到并记住.
我如何对PostgreSQL客户端做同样的事情psql?
我正在 PostgreSQL 中编写函数,但它不允许我在其中声明变量。这是功能。
CREATE FUNCTION clean_emp() RETURNS void AS
$func$
DECLARE cnt varchar;
$func$ LANGUAGE SQL;
Run Code Online (Sandbox Code Playgroud)
错误消息 ERROR:“varchar”处或附近的语法错误 SQL 状态:42601 字符:66