How to declare a variable in a PostgreSQL query

后端 未结 12 1447
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-22 09:34

How do I declare a variable for use in a PostgreSQL 8.3 query?

In MS SQL Server I can do this:

DECLARE @myvar INT
SET @myvar = 5

SELECT *
FROM somew         


        
12条回答
  •  醉梦人生
    2020-11-22 09:40

    There is no such feature in PostgreSQL. You can do it only in pl/PgSQL (or other pl/*), but not in plain SQL.

    An exception is WITH () query which can work as a variable, or even tuple of variables. It allows you to return a table of temporary values.

    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) > ...;
    

提交回复
热议问题