Oracle & 符號替換


先來介紹&的最基本用法,sql語句中使用“&var”會提示輸入變量,並將輸入的值等量代換。如下代碼

SQL> SELECT *FROM EMP_COPY WHERE EMPNO='&NUM';
Enter value  for NUM:7521

EMPNO ENAME      JOB         MGR HIREDATE       SALARY      COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
 7521 WARD       SALESMAN   7698 1981/2/22     1250.00    500.00     30

使用兩個&&會將變量設置為會話變量,以后再出現相同的變量時不再提示輸入。

SQL> SELECT *FROM EMP_COPY WHERE EMPNO='&NUM' AND EMPNO='&NUM';
Enter vlaue for NUM:7521
Enter vlaue for NUM:7521

EMPNO ENAME      JOB         MGR HIREDATE       SALARY      COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
 7521 WARD       SALESMAN   7698 1981/2/22     1250.00    500.00     30

SQL> SELECT *FROM EMP_COPY WHERE EMPNO='&&NUM' AND EMPNO='&NUM';
Enter vlaue for NUM:7521

EMPNO ENAME      JOB         MGR HIREDATE       SALARY      COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
 7521 WARD       SALESMAN   7698 1981/2/22     1250.00    500.00     30

查看定義的會話變量DEFINE;

定義會話變量DEFINE variable=value;

刪除會話變量UNDEFINE variable;

關閉/打開替換功能:SET DEFINE OFF/ON;

當關閉替換功能后,sql中的&將被識別為字面值'&'。

 

VERIFY驗證:

SET VERIFY ON/OFF:打開驗證or關閉驗證。

打開驗證時,當輸入變量后,會回顯替換變量名:替換值,然后執行。

SQL> SELECT *FROM EMP_COPY WHERE EMPNO='&NUM';
Enter vlaue for NUM:7521

&NUM: 7521 EMPNO ENAME JOB MGR HIREDATE SALARY COMM DEPTNO ----- ---------- --------- ----- ----------- --------- --------- ------ 7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30

 

補充:操作oracle服務器可以使用兩種命令:sql語言命令(select...)和sql客戶控制命令(set,define...)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM