亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在 Go 中為 PGSQL 函數提供參數

在 Go 中為 PGSQL 函數提供參數

Go
喵喔喔 2021-08-10 13:29:25
我正在嘗試使用 db.QueryRow() 將參數傳遞給 Golang 中的以下函數,但是它似乎不接受通常的 ?。DROP FUNCTION IF EXISTS upsertplatform(pToken varchar);CREATE FUNCTION upsertplatform(pToken varchar) RETURNS int as $$    DECLARE        _id int = NULL;    BEGIN        LOOP            UPDATE public.platform SET platformToken = pToken WHERE userID = 3 AND platformID = 2 RETURNING id into _id;            IF NOT FOUND THEN                BEGIN                    INSERT INTO public.platform (userID, platformID, platformToken) VALUES (3, 2, '1234-123-bbasd') RETURNING id into _id;                EXCEPTION WHEN unique_violation THEN                        UPDATE public.platform SET platformToken = '1234-123-bbasd' WHERE userID = 3 AND platformID = 2 RETURNING id into strict _id;                END;            END IF;        EXIT WHEN _id IS NOT NULL;        END LOOP;    RETURN 1;    END$$ LANGUAGE PLPGSQL;這是我遇到問題的查詢,我不確定如何將參數傳遞給它:res := db.QueryRow(`SELECT * FROM upsertplatform( ? )`, "test123")我該如何正確地做到這一點?
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

Postgres 驅動程序對參數使用位置符號,$1、$2、... 所以只是SELECT * FROM upsertplatform($1).


查看完整回答
反對 回復 2021-08-10
  • 1 回答
  • 0 關注
  • 275 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號