社区
Oracle
帖子详情
oracle占位符的问题
yepeiwen520
2010-05-12 10:53:11
在Java开发中一般使用这样的占位符,进行传参:
select * from emp where id = ?
Oracle里还可以绑定变量:
select * from emp where id = :empId
请问 :的使用只能在Oracle数据里么? 它和?有什么区别么 ?
...全文
967
5
打赏
收藏
oracle占位符的问题
在Java开发中一般使用这样的占位符,进行传参: select * from emp where id = ? Oracle里还可以绑定变量: select * from emp where id = :empId 请问 :的使用只能在Oracle数据里么? 它和?有什么区别么 ?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
skyzxl
2010-05-13
打赏
举报
回复
[Quote=引用 2 楼 dingjun123 的回复:]
弄清楚JAVA开发与ORACLE的区别,JAVA开发Oracle一般用JDBC,JAVA API的规则就是?为占位符,但是用JDBC的话会自动将?变为:的,可以查看v$sql等视图
:是Oracle的binding variable的语法,在写SQL和PL/SQL的时候经常使用,但不代表不使用:就不用绑定变量或使用:就一定是绑定变量
其他数据库看有没有绑定变量了,貌似mysql没有??……
[/Quote]
正解
iihero_
2010-05-13
打赏
举报
回复
mysql已经支持?占位符了。
:<name>是oracle占位符常用的一种形式。 至处应该是oracle内部可以快速定位绑定的是第几个变量。
由此可以得到bindByName一说,就是说,可以通过":var"直接bind一个变量,多个位置可以共享这一bind。
而"?"就没这个优点了,只能依靠序号定位。
jdbc之所以没有这个":<var>"占位符,是因为它是一个开放式接口,有的厂商根本就不支持这类占位符,只能求同存异,只好把它给割了。也许将来会有。
行舟
2010-05-12
打赏
举报
回复
[Quote=引用 2 楼 dingjun123 的回复:]
弄清楚JAVA开发与ORACLE的区别,JAVA开发Oracle一般用JDBC,JAVA API的规则就是?为占位符,但是用JDBC的话会自动将?变为:的,可以查看v$sql等视图
:是Oracle的binding variable的语法,在写SQL和PL/SQL的时候经常使用,但不代表不使用:就不用绑定变量或使用:就一定是绑定变量
其他数据库看有没有绑定变量了,貌似mysql没有?……
[/Quote]
顶
dingjun123
2010-05-12
打赏
举报
回复
弄清楚JAVA开发与ORACLE的区别,JAVA开发Oracle一般用JDBC,JAVA API的规则就是?为占位符,但是用JDBC的话会自动将?变为:的,可以查看v$sql等视图
:是Oracle的binding variable的语法,在写SQL和PL/SQL的时候经常使用,但不代表不使用:就不用绑定变量或使用:就一定是绑定变量
其他数据库看有没有绑定变量了,貌似mysql没有??JAVA API规范会针对不同的数据库,不同数据库的lib有自己的实现,JAVA SQL API只是个接口性的东西
codearts
2010-05-12
打赏
举报
回复
都是用来表示参数,
我记得以前在delphi里也是用:来表示参数的
oracle
高级sql讲解课程
with子句使用,集合操作,case应用,行列互换,4 exists与in、not exists与not in
oracle
批量插入
占位符
超过导致的bug
bug描述: 文件导入后采取的是批量导入模式,每行数据由22列组成,需要22个
占位符
。
oracle
最多支持
占位符
为65536个,在超过之后会报异常。导入excel文件 3713行所需的
占位符
为81686个导致sql执行失败返回异常。 insert table error: java.lang.ArrayTndexOutOfBoundsException:20 修复方案:每次批量执行1000行数据插入,分多批次执行完成。 int batchSize = 1000; List<BlackList
Oracle
占位符
?的模糊查询
在模糊查询语句中,需要用到
占位符
“?”传递参数时,sql语句中不能有%,如下: 正确写法 PreparedStatement ps = null; ResultSet rs = null; Connection conn = null; String sql = "select * from users where name like ?"; ps = conn.prepareStateme...
oracle
like +
占位符
问题
String sql = select t.* from t1 where t.state = ? and upper(t.name) like ? queryList = query(sql, YW, new Object[]{state, "%"+keyword+"%"}); 用
占位符
时注意:
oracle
会自动加上 ' '
Jdbc连接
Oracle
数据库详细案例,
占位符
的使用
一、什么是jdbc ? Java database connectivity: Java连接数据库技术 1.Sun公司研发java语言的程序员,他们定义出来的java连接数据库的一些接口。这些接口就是jdbc。 2.接口没有具体的功能,但是他统一了java连接各个数据库的标准。具体的实现类有各个数据库厂商去实现。 3.数据库厂商写好这些实现类后,把这些类打成压缩包,放到官网上,供java程序员下载...
Oracle
17,081
社区成员
55,235
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章