如何声明在 PostgreSQL 8.3 查询中使用的变量?
在 MS SQL Server 中我可以这样做:
DECLARE @myvar INT
SET @myvar = 5
SELECT *
FROM somewhere
WHERE something = @myvar
我如何在 PostgreSQL 中做同样的事情?根据文档,变量被简单地声明为“name type;”,但这给了我一个语法错误:
myvar INTEGER;
谁能给我一个正确语法的例子?
最佳答案
我通过使用 WITH
clause 实现了同样的目标,它远没有那么优雅,但可以做同样的事情。虽然对于这个例子来说,它确实有点矫枉过正。我也不是特别推荐这个。
WITH myconstants (var1, var2) as (
values (5, 'foo')
)
SELECT *
FROM somewhere, myconstants
WHERE something = var1
OR something_else = var2;
关于sql - 如何在 PostgreSQL 查询中声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52882882/