標籤:
1定義:運行時變數可以讓我們和sql語句之間有個互動,允許我們執行sql語句時動態傳遞參數
2.文法:
&varName
3.運行時變數可以出現在任意位置
例如:
select &colName1,&colName2
from &tbName
where &colname = &colValue;
例如:
select id,last_name
from s_emp
where id = &id;
運行時,伺服器會提示:
輸入 id 的值:
當輸入完成按下斷行符號:
原值 3: where id = &id
新值 3: where id = 2
例如:
select id,last_name
from s_emp
where last_name = ‘&name‘;
note:
s1.&代表取值。&varName,代表取varName這個變數的值,如果這個變數值,之前不存在,那麼系統會提示輸入這個變數的值。如果存在,直接取值。
2.set verify on ,開啟互動提示,如果開啟,會顯示old和new value。現在預設都是開啟的。使用set verify off,關閉。
4.定義變數:
define[def] varName = value;
查看定義的變數:
define[def] [varName];
取消定義:
undefine/undef varName;
例如:
1. define name=zhangsan
定義一個變數名字為name,值為zhangsan
運行select語句時,如果語句中遇到&name會自動替換為zhangsan
例如:
select id,last_name
from s_emp
where last_name=‘&name‘;
2.def/define : 查看當前環境中定義的所有變數
3.def/define name : 查看變數name的值。
如果不想在select語句中&name的外邊使用‘‘,則可以在定義變數name時寫成define name=‘‘‘zhangsan‘‘‘;‘可以用來轉義’
5.使用accept用來定義帶資料類型和提示符的變數
accept varName : 代表定義一個變數名字為varName,當按下斷行符號時需要使用者輸入值。
accept varName dataType : 代表定義一個帶資料類型的變數
例如:accept varNum number :代表定義一個變數名字為varNum,類型為Number,當輸入類型不是數字類型是報錯,提示繼續輸入。
prompt:當輸入變數時,給使用者的提示資訊。
accept myNum number prompt 地區id:
定義一個Number類型的變數myNum,當按下斷行符號時提示地區id:
accept nyName char prompt 名字:
如果希望插入的值是隱藏的,可以在後邊寫上HIDE:
accept num number prompt 密碼: HIDE
6.取消變數的定義
undefine varName;
7.向指令檔傳遞參數
在檔案中參數使用&n(n代表數字)來表示取第幾個參數值,然後再調用檔案執行的時候使用
@file val....(多個參數值使用空格分開。)
Oracle指定運行變數