oracle有臨時變數。在Oracle資料庫中,可以使用變數來編寫通用的sql語句,如果該變數前使用了「&」和「&&」符號,那麼該變數就是一個臨時變數,語法為「sql語句>&變數名;」。臨時變數只在使用它的sql語句中有效,變數值不能保留。
本教學操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。
oracle有臨時變數。
在Oracle資料庫中,可以使用變數來編寫通用的sql語句,在執行sql語句時,為變數輸入值,就會在sql語句中將變數替換成這些值。
臨時變數只在使用它的sql語句中有效,變數值不能保留,臨時變數也稱為替換變數。在sql語句中,如果在某個變數前面使用了「&」和「&&」符號,那麼久表示該變數是一個臨時變數,執行sql語句時,系統會提示使用者為該變數提供一個具體的資料。
以下是一個不使用臨時變數的查詢語句:
如果使用&
來宣告臨時變數:
SQL> list 1 select &chang1,ename,job 2 from scott.emp 3* where &chang1>&temp SQL> run 1 select &chang1,ename,job 2 from scott.emp 3* where &chang1>&temp 輸入 chang1 的值: empno 原值 1: select &chang1,ename,job 新值 1: select empno,ename,job 輸入 chang1 的值: empno 輸入 temp 的值: 7790 原值 3: where &chang1>&temp 新值 3: where empno>7790 EMPNO ENAME JOB ---------- ---------- --------- 7839 KING PRESIDENT 7844 TURNER SALESMAN 7876 ADAMS CLERK 7900 JAMES CLERK 7902 FORD ANALYST 7934 MILLER CLERK
上面定義了三個臨時變數,但是有兩個臨時變數代表的是同一個值 而使用&定義的變數時 要求輸入兩次chang1的值
使用&&時 如果你定義的臨時變數名字相同則只要求你輸入一次值
使用&&定義的臨時變數:
SQL> run 1 select &&chang1,ename,job 2 from scott.emp 3* where &&chang1>&&temp 輸入 chang1 的值: empno 原值 1: select &&chang1,ename,job 新值 1: select empno,ename,job 輸入 temp 的值: 7790 原值 3: where &&chang1>&&temp 新值 3: where empno>7790 EMPNO ENAME JOB ---------- ---------- --------- 7839 KING PRESIDENT 7844 TURNER SALESMAN 7876 ADAMS CLERK 7900 JAMES CLERK 7902 FORD ANALYST 7934 MILLER CLERK
通過上面的比較可以發現& 和&&定義的臨時變數的區別了,但是上面每次輸入定義的臨時變數後預設都會顯示原值和新值,如果不想讓顯示則可以使用以下命令:
SQL> set verify off; SQL> run 1 select &&chang1,ename,job 2 from scott.emp 3* where &&chang1>&&temp EMPNO ENAME JOB ---------- ---------- --------- 7839 KING PRESIDENT 7844 TURNER SALESMAN 7876 ADAMS CLERK 7900 JAMES CLERK 7902 FORD ANALYST 7934 MILLER CLERK 已選擇6行。
想要讓其顯示則可以使用:
SQL> set verify on SQL> run 1 select &&chang1,ename,job 2 from scott.emp 3* where &&chang1>&&temp 原值 1: select &&chang1,ename,job 新值 1: select empno,ename,job 原值 3: where &&chang1>&&temp 新值 3: where empno>7790 EMPNO ENAME JOB ---------- ---------- --------- 7839 KING PRESIDENT 7844 TURNER SALESMAN 7876 ADAMS CLERK 7900 JAMES CLERK 7902 FORD ANALYST 7934 MILLER CLERK以上就是oracle有臨時變數嗎的詳細內容,更多請關注TW511.COM其它相關文章!