什麼是JDBC中的序數綁定和命名綁定?當調用PL/SQL過程時,我收到一個異常什麼是JDBC中的序數綁定和命名綁定
java.sql.SQLException:不允許操作:序號綁定和命名綁定不能組合!
什麼是JDBC中的序數綁定和命名綁定?當調用PL/SQL過程時,我收到一個異常什麼是JDBC中的序數綁定和命名綁定
java.sql.SQLException:不允許操作:序號綁定和命名綁定不能組合!
按指數排列的序數。名字是指名稱。
Google search表明這可能會以多種方式誤用API,因此無法猜測您在沒有看到代碼的情況下陷入了哪一個。
在Oracle中,例如,您可以編寫帶有PL/SQL代碼的存儲過程:
CREATE PROCEDURE remove_emp (employee_id NUMBER) AS
tot_emps NUMBER;
BEGIN
DELETE FROM employees
WHERE employees.employee_id = remove_emp.employee_id;
tot_emps := tot_emps - 1;
END;
/
當你從Java調用該方法,您使用以下代碼:
CallableStatement cs = conn.prepareCall("{call remove_emp(employee_id)}");
cs.setInt(1, 42); // ordinal binding, or
cs.setInt("employee_id", 42); // named binding
隨着只有一個論點,選擇並不重要。但是,你不能混用技巧。
CallableStatement cs = conn.prepareCall("{call xyzzy(plugh, bedquilt)]");
cs.setInt(1, 42); // ordinal binding, and
cs.setInt("plugh", 1729); // named binding
cs.executeQuery(); // throws