最近工作中遇到一個需求,需要更新Oracle數(shù)據(jù)庫中所有表的一個字段“flag”為“I”,語句為:
update table_name set flag = 'I'
“I”作為字符串,所以語句中I需要加上單引號。
由于數(shù)據(jù)庫中有多張表,我不想一條一條的語句寫,希望能夠通過sql語句直接生成所有的語句,所以寫了如下sql:
select 'update ' || table_name || ' set flag = 'I'' || ';' from user_tables
這個時候運(yùn)行,“報錯:ORA-00923: 未找到要求的 FROM 關(guān)鍵字”,報錯位置就在'I”的第二個單引號位置,因?yàn)閱我柵鋵﹃P(guān)系,I不是字符串了,所以就報錯了,那么如果要顯示一個單引號該怎么做呢?
試了語句:
select ''' from dual
同樣也會報錯,原來“'”作為一個關(guān)鍵字,如果需要顯示“'”,需要使用轉(zhuǎn)義字符,就像java的“\”一樣。
而Oracle的轉(zhuǎn)義字符就是單引號“'”,所以sql應(yīng)該這么寫:
select '''' from dual
怎么理解呢?把第二個單引號“'”看成“\”就好了,所以我需要的sql就是:
select 'update ' || table_name || ' set flag = ''I''' || ';' from user_tables
? ?
這樣就OK啦!
總結(jié)
以上就是關(guān)于Oracle轉(zhuǎn)義字符的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
更多Oracle中轉(zhuǎn)義字符的詳細(xì)介紹相關(guān)文章請關(guān)注PHP中文網(wǎng)!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級代碼編輯軟件(SublimeText3)