如何声明用于PostgreSQL 8.3查询的变量?
在MS SQL Server中,我可以这样做:
DECLARE @myvar INT
SET @myvar = 5
SELECT *
FROM somewhere
WHERE something = @myvar
我如何在PostgreSQL中做同样的事情?根据文档,变量被简单地声明为“名称类型;”,但这给了我一个语法错误:
myvar INTEGER;
有人可以给我一个正确语法的例子吗?
PostgreSQL中没有这样的功能。您只能在pl / PgSQL(或其他pl / *)中执行此操作,而不能在普通SQL中执行。
WITH ()
可以作为变量甚至tuple
变量工作的查询是一个例外。它允许您返回一个临时值表。
WITH master_user AS (
SELECT
login,
registration_date
FROM users
WHERE ...
)
SELECT *
FROM users
WHERE master_login = (SELECT login
FROM master_user)
AND (SELECT registration_date
FROM master_user) > ...;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句