最近工作中遇到一個需求,需要更新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不是字符串了,所以就報錯了,那麼如果要顯示一個單引號該怎麼做呢? “”一樣。好了,所以我需要的sql就是:
select ''' from dual
這樣就OK啦!帶來一定的幫助,如果有疑問大家可以留言交流。