如何在PostgreSQL查詢中聲明變量如何聲明變量以便在PostgreSQL 8.3查詢中使用?在MSSQLServer中,我可以這樣做:DECLARE @myvar INTSET @myvar = 5SELECT *FROM somewhereWHERE something = @myvar如何在PostgreSQL中實現(xiàn)相同的操作?根據(jù)文檔,變量被簡單地聲明為“name type;”,但是這給了我一個語法錯誤:myvar INTEGER;有人能給我舉個正確語法的例子嗎?
3 回答

侃侃無極
TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊
WITH ()
tuple
WITH master_user AS ( SELECT login, registration_date FROM users WHERE ...)SELECT *FROM usersWHERE master_login = (SELECT login FROM master_user) AND (SELECT registration_date FROM master_user) > ...;

慕工程0101907
TA貢獻(xiàn)1887條經(jīng)驗 獲得超5個贊
WITH
WITH myconstants (var1, var2) as ( values (5, 'foo'))SELECT *FROM somewhere, myconstantsWHERE something = var1 OR something_else = var

楊__羊羊
TA貢獻(xiàn)1943條經(jīng)驗 獲得超7個贊
DO $$DECLARE myvar integer;BEGIN SELECT 5 INTO myvar; DROP TABLE IF EXISTS tmp_table; CREATE TABLE tmp_table AS SELECT * FROM yourtable WHERE id = myvar;END $$;SELECT * FROM tmp_table;
以上要求Postgres 9.0或更高版本。
添加回答
舉報
0/150
提交
取消