sqlplus的小祕密2『By oldwain』

lastwinner發表於2005-10-10

Sql*plus中, 不允許sql語句中間有空行, 這在從其它地方拷貝指令碼到sql*plus中執行時很麻煩. 比如下面的指令碼:

[@more@]
select deptno, empno, ename
from emp

where empno = '7788';

如果拷貝到sql*plus中執行, 就會出現錯誤:


scott@O9I.US.ORACLE.COM> select deptno, empno, ename
  2  from emp
  3
scott@O9I.US.ORACLE.COM> where empno = '7788';
SP2-0734: unknown command beginning "where empn..." - rest of line ignored.
scott@O9I.US.ORACLE.COM>

原因是sqlplus遇到空行就認為是語句結束了.
其實要改變這種現象, 只要使用SQLBLANKLINES引數就可以了.

scott@O9I.US.ORACLE.COM> SET SQLBLANKLINES ON
scott@O9I.US.ORACLE.COM>
scott@O9I.US.ORACLE.COM> select deptno, empno, ename
  2  from emp
  3
  4  where empno = '7788';

    DEPTNO      EMPNO ENAME
---------- ---------- ----------
        20       7788 SCOTT

scott@O9I.US.ORACLE.COM>

(需要引用, 請註明出處: http://blog.itpub.net/oldwain)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29867/viewspace-807685/,如需轉載,請註明出處,否則將追究法律責任。

相關文章