请问:
如果传统Oracle数据库中应用SQL使用了绑定变量,迁移到OceanBase,应用是否需要改造?
请问:
如果传统Oracle数据库中应用SQL使用了绑定变量,迁移到OceanBase,应用是否需要改造?
绑定变量支持的。不用改。
好的 非常感谢您的回复。
这部分在官方文档中介绍不多,以425文档为例,所以会有些疑惑。 与Oracle兼容性概述里,没有明确说明对绑定变量的支持。
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001499486
直接搜索 【绑定变量】 关键字的话,能看到有部分文档介绍
PL动态SQL功能的支持
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001503129
BIND_VARIABLE 存储过程
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002016598
OceanBase JDBC 驱动 相关文档中有一句具体介绍 “ Connection 对象的 prepareStatement
方法可以定义一条语句并采用变量绑定参数,返回带有语句定义的 PreparedStatement 对象。
PreparedStatement 对象使用 setXXX
方法将数据绑定到准备发送到数据库的语句。”
https://www.oceanbase.com/docs/common-oceanbase-connector-j-cn-1000000002499749
这里还想劳烦请教下,比如在传统oracle数据库,客户端sqlplus中直接定义使用绑定变量执行SQL, 类似r如下形式: 这种如果在obclient 访问 ob oracle租户,是否有也有类似支持?
var b_empno number;
exec :b_empno := 7788;
select * from emp where empno = :b_empno;
OceanBase Oracle 模式:
:param
)以及相同的执行方式。OceanBase MySQL 模式:
?
占位符的预处理语句。只要你的应用在 Oracle 中是通过标准绑定变量接口(如 JDBC PreparedStatement
)写的,那么:
下面几种情况,可能要稍作检查或调整:
非常非常感谢