sqlplus與空行.txt
sqlplus與空行.txt
開發人員交給一些sql指令碼,要在伺服器上執行,我檢查一下,沒有什麼問題,在測試機器執行:
1* create table t(number(10)
SP2-0734: unknown command beginning "b varchar2..." - rest of line ignored.
SP2-0042: unknown command ")" - rest of line ignored.
開啟指令碼檢查發現沒有什麼錯誤,唯一的不同是有一行空行在create後面,具體例子如下:
$cat a.sql
create table t(
a number(3),
b varchar2(10)
);
對比上面錯誤發現,缺少a,開始懷疑指令碼存在怪字元,在vi下打入:set list,並沒有發現任何異常。刪除空行,貼上出來執行,一切正常!開始手工打入命令執行:
SQL> create table t (
2
SQL> a
SP2-0004: Nothing to append.
可以發現在第2行回車後,跳到了SQL>提示符,退出了執行.換一句話,sql指令碼在語句中不能包含空行,這個還第一次遇到!又測試一個存貯過程,發現問題有不存在。
SQL> create procedure testproc
2
3 as
4 begin
5 null;
6 end;
7 /
$ sqlplus scott/test | tee set.txt
SQL> show all
SQL> quit
$ grep -i blank set.txt
sqlblanklines OFF
感覺就是這個引數控制空行行為。
SQL> drop table t purge ;
SQL> set sqlblanklines on
SQL> create table t(
2
3 a number(3)
4 )
5 /
再次執行一切OK了。
開發人員交給一些sql指令碼,要在伺服器上執行,我檢查一下,沒有什麼問題,在測試機器執行:
1* create table t(number(10)
SP2-0734: unknown command beginning "b varchar2..." - rest of line ignored.
SP2-0042: unknown command ")" - rest of line ignored.
開啟指令碼檢查發現沒有什麼錯誤,唯一的不同是有一行空行在create後面,具體例子如下:
$cat a.sql
create table t(
a number(3),
b varchar2(10)
);
對比上面錯誤發現,缺少a,開始懷疑指令碼存在怪字元,在vi下打入:set list,並沒有發現任何異常。刪除空行,貼上出來執行,一切正常!開始手工打入命令執行:
SQL> create table t (
2
SQL> a
SP2-0004: Nothing to append.
可以發現在第2行回車後,跳到了SQL>提示符,退出了執行.換一句話,sql指令碼在語句中不能包含空行,這個還第一次遇到!又測試一個存貯過程,發現問題有不存在。
SQL> create procedure testproc
2
3 as
4 begin
5 null;
6 end;
7 /
$ sqlplus scott/test | tee set.txt
SQL> show all
SQL> quit
$ grep -i blank set.txt
sqlblanklines OFF
感覺就是這個引數控制空行行為。
SQL> drop table t purge ;
SQL> set sqlblanklines on
SQL> create table t(
2
3 a number(3)
4 )
5 /
再次執行一切OK了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-712957/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20190524]sqlplus 與輸出&.txtSQL
- [20190720]sqlplus 與輸出& 2.txtSQL
- [20180813]sqlplus arraysize設定與SDU.txtSQL
- [20211123]sqlplus @與@@的區別.txtSQL
- [20241013]sqlplus spool與檔案覆蓋.txtSQL
- [20230323]sqlplus #.txtSQL
- windows bat系列8:echo詳解與DOS輸出空行WindowsBAT
- vs code 刪除空行
- [20120109]sqlplus 與set longchunksize 設定問題.txtSQLGC
- 得到txt空白行的行數、將txt檔案的空行刪除和刪除csv檔案中指定的行
- [20170506]fetch sqlplus arraysize.txtSQL
- [20170617]vim中呼叫sqlplus.txtSQL
- shell中代表空行的字元字元
- [20160113]sqlplus使用問題.txtSQL
- [20190215]sqlplus set arraysize.txtSQL
- [20180109]sqlplus refcursor.txtSQL
- [20120817]sqlplus 輸出html格式.txtSQLHTML
- sqlplus中的變數定義和簡單使用.txtSQL變數
- [20120327]toad與sqlplus下執行sql語句的一個細節.txtSQL
- [20190530]sqlplus preliminary connection.txtSQL
- [20221203]sqlplus set trimspool 問題.txtSQL
- [20211108]sqlplus管道過濾.txtSQL
- [20211125]sqlplus生成html格式.txtSQLHTML
- [20161021]關於sqlplus sqlprompt設定.txtSQL
- [20170916]sqlplus set array最小2補充.txtSQL
- [20180510]sqlplus array 和 opifch2.txtSQL
- [20130814]12c sqlplus.txtSQL
- [20140823]在sqlplus使用copy注意.txtSQL
- [20120410] sqlplus中set termout off.txtSQL
- 匹配空行正規表示式程式碼
- [20221202]sqlplus set trimout 問題.txtSQL
- [20230417]sqlplus warpped word_warp.txtSQL
- [20131119]sqlplus顏色輸出.txtSQL
- [20141216]sqlplus的set appinfo.txtSQLAPP
- Oracle client 客戶端與sqlplusOracleclient客戶端SQL
- JS 正則去除 textarea 產生的空行JS
- VSCode刪除重複的空行VSCode
- python 統計檔案中有多少空行Python