我有SQL函數,它不是我寫的。在WHERE子句中,「冒號」在SQL中意味着什麼?
我有很難理解,什麼是下面的條件是什麼意思?
具體:key
和||cLF||'
。
WHERE ' WHERE 1=1 '
||cLF||' AND f.key = :key '
||cLF||' AND i.flag = 0'
||cLF||' AND r.flag = 0'
我有SQL函數,它不是我寫的。在WHERE子句中,「冒號」在SQL中意味着什麼?
我有很難理解,什麼是下面的條件是什麼意思?
具體:key
和||cLF||'
。
WHERE ' WHERE 1=1 '
||cLF||' AND f.key = :key '
||cLF||' AND i.flag = 0'
||cLF||' AND r.flag = 0'
首先,||
運營商是一個string concatenation operator。所以看起來代碼使用cLF
指定的條件構建WHERE
子句。雖然我不完全確定他們爲什麼在cLF
那裏三次加註。
的:key
語法是指在一個參數化查詢的參數。它的值將在您構建的SQL語句實際運行時傳入。
您粘貼查詢是動態構造SQL語句的一部分。 此處的分號指向綁定庫所有者,這意味着「:key」的實際值將通過參數傳遞,而不是硬編碼。
上閱讀舉例執行立竿見影。
你的意思是「冒號」而不是分號? – jimp
http://www.akadia.com/services/ora_bind_variables.html –
@JoãoSilva感謝您的聯繫。和jimp修復謝謝,我儘量不要在提問時出現任何愚蠢的錯誤。的 – Mowgli