[英]How to use Prepared Statement for Microsoft SQL Xpath queries in java
我很難嘗試在java
對以下sql xml xpath
查詢使用 Prepared Statement 。
SELECT *
FROM dbo.EMPLOYEE_DTLS
WHERE EMPLOYEE_DTLS.EMP_XML.exist('//emp/empId[text()[1]=?]')= 1 AND
(EMPLOYEE_DTLS.EMP_XML.exist('//emp/designationList/designation[contains(.,?)]')= 1 OR
EMPLOYEE_DTLS.EMP_XML.exist('//emp/designationList/designation[contains(.,?)]')= 1 OR 1!=1)
我想為所有地方設置值?
象征。 由於?
在 xpath 中的單引號內,它不被視為占位符,我無法設置值。 有人可以幫我解決這個問題。 任何幫助是極大的贊賞。
在 XPath(或 XQuery)表達式中直接指定參數化值是不可能的。 但是,您可以做的是在 XPath (XQuery) 表達式中使用sql:variable("variable_name")
函數來引用變量。
所以你會有一個像這樣的腳本:
DECLARE @some_variable NVARCHAR(128)=?; -- specify the parameter here
SELECT *
FROM dbo.EMPLOYEE_DTLS
WHERE EMPLOYEE_DTLS.EMP_XML.exist('//emp/empId[text()[1]=sql:variable("@some_variable")]')=1 -- etc.
您可以找到有關sql:variable()
函數的文檔 → 此處←
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.