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

侃侃無極
TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
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)驗(yàn) 獲得超5個(gè)贊
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)驗(yàn) 獲得超7個(gè)贊
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或更高版本。
添加回答
舉報(bào)
0/150
提交
取消