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那里进行三次。

:key语法引用参数化查询中的参数。它的值将在您正在构建的 SQL 语句实际运行时传入。

于 2012-09-17T16:34:23.197 回答
1

您粘贴的查询是动态构造的 SQL 语句的一部分。这里的分号指向一个绑定位置持有者,这意味着 ":key" 的实际值是通过一个参数传递的,而不是硬编码的。

阅读有关立即执行的示例。

于 2012-09-17T16:35:24.843 回答