私はSQL関数を持っていますが、それは私が書いたものではありません。
理解に苦しむのですが、次の条件はどういう意味ですか?
具体的:key
に||cLF||'
は
WHERE ' WHERE 1=1 '
||cLF||' AND f.key = :key '
||cLF||' AND i.flag = 0'
||cLF||' AND r.flag = 0'
まず、||
演算子は文字列連結演算子です。WHERE
したがって、コードは で指定された条件を使用して句を作成しているように見えますcLF
。なぜ彼らがcLF
そこに3回もタックしているのか、私には完全にはわかりませんが.
:key
構文は、パラメーター化されたクエリのパラメーターを参照しています。その値は、作成中の SQL ステートメントが実際に実行されるときに渡されます。
貼り付けたクエリは、動的に構築された SQL ステートメントの一部です。ここでのセミコロンは、バインド プレース ホルダーを指しています。つまり、":key" の実際の値は引数を介して渡され、ハードコードされていません。
EXECUTE IMMEDIATE の例を読んでください。