我正在嘗試使用 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 回答
- 0 關注
- 275 瀏覽
添加回答
舉報
0/150
提交
取消