我有SQL函数,它不是我写的。
我很难理解,以下条件意味着什么?
具体为:key
和||cLF||'
。
WHERE ' WHERE 1=1 '
||cLF||' AND f.key = :key '
||cLF||' AND i.flag = 0'
||cLF||' AND r.flag = 0'
答案 0 :(得分:3)
首先,||
运算符是string concatenation operator。所以看起来代码正在使用WHERE
指定的条件构建cLF
子句。虽然我不完全确定他们为什么要在那里cLF
三次。
:key
语法是指参数化查询中的参数。当您正在构建的SQL语句实际运行时,它的值将被传递。
答案 1 :(得分:1)
您粘贴的查询是动态构造的SQL语句的一部分。 分号在这里指向绑定位置持有者,这意味着“:key”的实际值通过参数传递而不是硬编码。
阅读EXECUTE IMMEDIATE上的示例。