|
4
|
| Brett Rossier · 技术社区 · 15 年前 |
|
|
1
5
OTL作者对我电子邮件的回复:OTL将带有占位符的查询传递到DBAPI层。实际绑定变量的命名约定对于不同的DB类型是不同的。对甲骨文来说,
将被翻译成:
加上一堆主机变量绑定调用。 对于MS SQL Server或DB2,相同的选择如下:
手册中描述过,对于MS SQL、DB2,不能多次使用相同名称的占位符。具有占位符/绑定变量的SQL语句的创建成本相对较高,因此,如果通过OTL_流实例化参数化SQL,则尽可能多地重用该流是有意义的。 如果您对我如何改进OTL手册有更多的问题或建议,请随时给我发电子邮件。 干杯, 谢尔盖 菲亚巴克写道: 嗨,我最近一直在评估C++数据库,以作为我希望构建的ORM库的基础,并且越来越受到OTL的影响。顺便说一下,它看起来很不错,似乎能满足我的大部分需求。我只是有一个挥之不去的问题,我似乎无法通过阅读文件来澄清。OTL是将参数化查询传递给底层DBMS,还是将参数和我传递给OTL流的查询连接成单个字符串并传递给DBMS? 换句话说,如果我把这个mssql查询连同字符串“bob”作为绑定变量提交给otl:
OTL解析器是否生成:
或者:
以及作为参数的字符串 如果您愿意在stackoverflow.com上回答这个问题,我也会将这个问题发到stackoverflow.com上: Is C++ OTL SQL database library using parameterized queries under the hood, or string concat? 谢谢你抽出时间 |
|
|
2
1
The documentation 讨论绑定变量。我想图书馆 是 重写查询,但它可能只是将绑定变量的格式更改为DBMS期望的格式,然后将值绑定到绑定变量。 |