gpt4 book ai didi

java - 什么是 JDBC 中的序数绑定(bind)和命名绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 22:54:39 24 4
gpt4 key购买 nike

什么是 JDBC 中的序数绑定(bind)和命名绑定(bind)?
在调用 PL/SQL 过程时出现异常

java.sql.SQLException: operation not allowed: 序数绑定(bind)和命名绑定(bind)不能合并!

最佳答案

例如,在 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

关于java - 什么是 JDBC 中的序数绑定(bind)和命名绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16924560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com