でドル引用符で囲まれた文字列に$$入れ:は、私はPostgresの中の関数を持っているPostgreSQLの
CREATE OR REPLACE FUNCTION upsert(sql_insert text, sql_update text)
RETURNS integer AS
$BODY$
BEGIN
EXECUTE sql_insert;
RETURN 1;
EXCEPTION WHEN unique_violation THEN
EXECUTE sql_update;
RETURN 2;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION upsert(text, text) OWNER TO dce;
私は通常、その機能を呼び出すために、このクエリを使用します。
select upsert(
$$INSERT INTO zz(a, b) VALUES (66, 'hahahaha')$$,
$$UPDATE zz SET a=66, b='hahahaha' WHERE a=66$$
)
それは動作します。残念ながら、私のクエリ文字列が$$
を含めることはできません、次のように:
select upsert(
$$INSERT INTO zz(a, b) VALUES (66, 'ha$$hahaha')$$,
$$UPDATE zz SET a=66, b='hahahaha' WHERE a=66$$
)
私はthis Postgresのドキュメントを読みましたが、まだそれを行う方法援助を必要とします。
[あなたはあなたの答えを持っていますか?](http://meta.stackexchange.com/a/5235/169168) –