ORA-01008: 并非所有变量都已绑定
在项目住遇到一个执行sql报ORA-01008的异常错误,查询了百度后没找到根本的出错原因。后同事帮忙解答了:
SELECT id AS gcode,ROLENAME AS gname FROM BUSI_MERCHANTSROLE WHERE MERCHANTID=:1
merchantid=:1 代表的意思是执行这条SQL,传入的参数列表里第一个参数放这个条件查询。
WHERE MERCHANTID=:1 和 WHERE MERCHANTID=? 是一样的意思。
MERCHANTID 就是一个查询的条件,:1才是一个变量,这个:1可以换成任何值。
举例:
比如select * from table where id = :1 and name = :2
然后传查询参数进去[2,'jack']
最终的执行的sql就是select * from table where id =2 and name = 'jack'
如果传参数['jack',2]
最终的执行的sql就是select * from table where id ='jack' and name = 2