oracle数据库中转义字符的相关资料
来源:爱站网时间:2022-12-09编辑:网友分享
在oracle数据库中,有一种转义字符是会需要用到的,但你了解过它吗,如果你不懂,就看看爱站技术频道小编为你准备的资料,看完后能对你日后技术操作提供到帮助。
最近工作中遇到一个需求,需要更新Oracle数据库中所有表的一个字段“flag”为“I”,语句为:
update table_name set flag = 'I'
“I”作为字符串,所以语句中I需要加上单引号。
由于数据库中有多张表,我不想一条一条的语句写,希望能够通过sql语句直接生成所有的语句,所以写了如下sql:
select 'update ' || 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数据库的知识点,可以关注下本平台,小编每天都会收集一些好的技术文章进行发布。