2016-09-19 3 views
2

私が継承した(Postgresql)SQLコードの混乱を見ています。私が従わない使用されている2つの表記があります。 1つは$$を使用しています。例えば。 Create function ... returns FOO as $$およびselect NULL::int field_name from table

シンボルのためにグーグルで困っています。私は何を探しているべきかも分かりません。

+0

[Documentation](https://www.postgresql.org/docs/9.5/static/plpgsql-structure.html)が役立つことを願っています。 –

答えて

4

expression::typenameキャストexpressiontypenameにキャストします。

ドル記号はリテラル文字列の引用に使用されます。関数本体は、プレーンテキスト文字列としてデータベースに渡されます。このために古い古い単一引用符を使用することもできますが、関数本体の中でエスケープする問題に潜在的に走ります。だから、この場合、ドル記号を引用することがよくあります。

ドル記号の引用には、$somename$string text $$ goes here $somename$のような小さな拡張子が付いています。これにより、$$自体をこのような文字列の中に使用できるようになり、文字列の指定がさらにはっきりします。これは、関数定義ではcreate function x as $body$...$body$のように使用されることがあります。

関連する問題