今天在做項目的時候,使用plsql(8.0漢化版)時遇到一個問題。寫了一個有點長的sql語句,為了便于理解,我使用了plsql中的美化器將我的語句進行了美化,當然美化器的功能相當強大吆,也可以自己設置規(guī)則進行美化,具體怎么操作我就不詳細說明了(不會用的可以繼續(xù)網(wǎng)上搜索),但是當我的語句完成的時候,好多行的代碼啊,怎么辦,怎么把這多行語句整合到一行呢,難道要我一行一行的手動操作,來將多行轉(zhuǎn)化為一行嗎?
我想肯定有比較簡單的方法來進行優(yōu)化,所以我網(wǎng)上搜索了一下,果然有比較好的方法,但是寫的不是很詳細,那么對一些童鞋就可能還不是很明白了,這里呢我就按照我的思路進行了整理,供大家參考。
大概的思路是將換行符和多余的空格轉(zhuǎn)換成空,那么語句就會在一行顯示了!
首先準備好你的SQL語句(或者使用我的:<code>select a,b,ce,d from (select a,b,case when substr(c, 0, 1) = '1' then '0' when substr(c, 0, 1) = '2' then '2' else '1' end ce,d,e,f from tab where a = '0') ta)</code>,然后使用編輯->PL/SQL美化器來進行美化,美化后界面如圖所示:

前面的準備工作已經(jīng)完成,那么我們接下來將多行語句變成一行。然后我們在SQL窗口按著Ctrl+F鍵,緊接著就會出現(xiàn)查找和替換窗口,我們在查找和替換窗口中在文本查找輸入框輸入<code>\r</code>,而替換為輸入框中不輸入任何值,然后把正則表達式前面打上勾,其他的不要動,這時查找和替換窗口應該如下圖所示:

然后點擊全部替換,那么你將會看到所有的語句都會變成一行了,但是問題又出來了,語句中間有許多空格,如圖所示:

那么接下來就是替換空格了,和前面替換行號的方法一樣。
在文本查找輸入框中輸入兩個空格,然后在替換為輸入框中仍不輸入任何值,并且取消正則表達式前面的勾,窗口如下圖所示:

接著點擊全部替換,替換之后的語句就如下圖所示:

這樣是不是成功了呢,現(xiàn)在是不是又看到錯誤了呢,前面那個from那里和d連到一塊去了,后面也有連一塊的,那這個問題呢,暫時還不曉得怎么快速解決,那這樣只有自己一點一點從新敲空格了。。。。。最后成功將幾行語句轉(zhuǎn)換為一行,接著就可以將語句粘貼到代碼中使用了。
使用這種思想,我們還可以解決更多的問題,例如:如下圖所示,我們希望將字段名,以<code>,</code>(逗號隔開)。

那么我們可以按住Alt+鼠標左鍵,進行選中后面多余的數(shù)據(jù),如下圖所示:

然后按刪除鍵將選中的數(shù)據(jù)進行刪除,剩下我們需要的數(shù)據(jù),然后我們按住Ctrl+F打開查找和替換窗口,在文本查找輸入框中輸入<code>\r</code>,替換為輸入框中輸入<code>,</code>,然后在正則表達式前面打勾,接著點擊全部替換,先將數(shù)據(jù)一行顯示,剩下的就是替換空格,這次不用考慮其他的了,所以只用在文本替換中輸入框中輸入一個空格,然后取消正則表達式前面的勾,點擊全部替換接下來就得到我們需要的結果了,如下圖:

這樣的數(shù)據(jù)我們就可以來拷貝使用了。當然還有其他許多用處,這就需要你自己發(fā)掘了。。。嘿嘿。。