2

私はSQL関数を持っていますが、それは私が書いたものではありません。

理解に苦しむのですが、次の条件はどういう意味ですか?
具体的:key||cLF||'

WHERE  ' WHERE 1=1 '
       ||cLF||' AND   f.key = :key '
       ||cLF||' AND   i.flag = 0'
       ||cLF||' AND   r.flag = 0'
4

2 に答える 2

3

まず、||演算子は文字列連結演算子です。WHEREしたがって、コードは で指定された条件を使用して句を作成しているように見えますcLF。なぜ彼らがcLFそこに3回もタックしているのか、私には完全にはわかりませんが.

:key構文は、パラメーター化されたクエリのパラメーターを参照しています。その値は、作成中の SQL ステートメントが実際に実行されるときに渡されます。

于 2012-09-17T16:34:23.197 に答える
1

貼り付けたクエリは、動的に構築された SQL ステートメントの一部です。ここでのセミコロンは、バインド プレース ホルダーを指しています。つまり、":key" の実際の値は引数を介して渡され、ハードコードされていません。

EXECUTE IMMEDIATE の例を読んでください。

于 2012-09-17T16:35:24.843 に答える