Postgres データベースで関数またはプロシージャを作成または更新すると、関数LANGUAGE 'plpgsql' VOLATILE
の最後に表示されます。
これは何を意味し、その目的は何ですか?
13938 次
2 に答える
24
VOLATILE は、単一のテーブル スキャン内でも関数値が変更される可能性があるため、最適化を行うことができないことを示します。この意味で揮発性のデータベース関数は比較的少数です。いくつかの例は、random()、currval()、timeofday() です。ただし、呼び出しが最適化されないようにするために、結果が予測可能であっても、副作用のある関数は volatile に分類する必要があることに注意してください。例は setval() です。
于 2012-09-25T06:06:33.420 に答える
9
特に、LANGUAGE 'plpgsql' VOLATILE
誰かがメモを受け取らなかったことを意味します。
の言語名CREATE FUNCTION
は識別子であり、引用符で囲まないでください。する必要があります:
LANGUAGE plpgsql VOLATILE
不正行為は、紛らわしいエラーにつながる可能性があります。見る:
関数のボラティリティについて:
于 2013-02-20T21:45:13.097 に答える