如何声明用于 PostgreSQL 8.3 查询的变量?
在 MS SQL Server 中,我可以这样做:
DECLARE @myvar INT
SET @myvar = 5
SELECT *
FROM somewhere
WHERE something = @myvar
我如何在 PostgreSQL 中做同样的事情?根据文档,变量被简单地声明为“名称类型;”,但这给了我一个语法错误:
myvar INTEGER;
有人可以给我一个正确语法的例子吗?
原文由 EMP 发布,翻译遵循 CC BY-SA 4.0 许可协议
PostgreSQL 中没有这样的功能。您只能在 pl/PgSQL(或其他 pl/*)中执行此操作,但不能在普通 SQL 中执行。
一个例外是
WITH ()
可以作为变量工作的查询,甚至是tuple
变量。它允许您返回一个临时值表。