第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問如何在PostgreSQL查詢中聲明變量

請問如何在PostgreSQL查詢中聲明變量

小怪獸愛吃肉 2019-10-20 12:08:16
如何在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個贊

PostgreSQL中沒有這樣的特性。只能在pl/PgSQL(或其他pl/*)中執(zhí)行,但不能在普通SQL中執(zhí)行。

例外是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) > ...;



查看完整回答
反對 回復(fù) 2019-10-21
?
慕工程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


查看完整回答
反對 回復(fù) 2019-10-21
?
楊__羊羊

TA貢獻(xiàn)1943條經(jīng)驗 獲得超7個贊

您也可以在PLPGSQL中嘗試這樣做:

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或更高版本。



查看完整回答
反對 回復(fù) 2019-10-21
  • 3 回答
  • 0 關(guān)注
  • 931 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號