• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle中转义字符的详细介绍

php 搞代码 4年前 (2022-01-04) 26次浏览 已收录 0个评论

最近工作中遇到一个需求,需要更新Oracle数据库中所有表的一个字段“flag”为“I”,语句为:

update table_name set flag = 'I'

“I”作为字符串,所以语句中I需要加上单引号。

由于数据库中有多张表,我不想一条一条的语句写,希望能够通过sql语句直接生成所有的语句,所以写了如下sql:

select 'update &#3<i style="color:transparent">来源gaodai$ma#com搞$$代**码网</i>9; || table_name || ' set flag = 'I'' || ';' from user_tables

这个时候运行,“报错:ORA-00923: 未找到要求的 FROM 关键字”,报错位置就在'I”的第二个单引号位置,因为单引号配对关系,I不是字符串了,所以就报错了,那么如果要显示一个单引号该怎么做呢?

试了语句:

select ''' from dual

同样也会报错,原来“'”作为一个关键字,如果需要显示“'”,需要使用转义字符,就像java的“\”一样。

而Oracle的转义字符就是单引号“'”,所以sql应该这么写:

select '''' from dual

怎么理解呢?把第二个单引号“'”看成“\”就好了,所以我需要的sql就是:

select 'update ' || table_name || ' set flag = ''I''' || ';' from user_tables

这样就OK啦!

总结

以上就是关于Oracle转义字符的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

更多Oracle中转义字符的详细介绍相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle中转义字符的详细介绍

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址