一、宣告pl/sql一般變數
語法:identifier datatype [not null]
[:= | default expr];
例:declare
v_hiredate date;
v_deptno number(2) not null:=0;
v_location varchar2(13):='atlanta';
二、一般變數
1.pl/sql塊中可以使用變數
(1)在宣告部分宣告,使用前必須先宣告
(2)宣告時必須指定資料型別
(3)在可執行部分的sql語句和過程語句中使用
給變數賦值有兩種方法:
(1)使用賦值語句 :=
(2)使用select into語句
spool d:\sql.txt
declare
emp_code number(4);
emp_salary number(7,2);
begin
emp_code:=7499;
select sal+comm into emp_salary from emp
where empno=emp_code;
dbms_output.put_line(emp_salary);
end;
set line 200
set serveroutput on
run
2.一般變數作用域
<>
declare
v_num number(3,4);
begin
declare
v_num char(10);
begin
lab1.v_num:=12345;
end;
end;
declare
v_num number(5,2):=1.23;
begin
declare v_num char(10);
begin
v_num:=12345;
dbms_output.put_line(v_num);
end;
dbms_output.put_line(v_num);
end;
列印結果為:
12345
1.23
三、替代變數
(1)使用sql*plus替代變數來暫時儲存值
單個(&)符號
兩個(&&)符號
define和accept命令
(2)在sql命令中傳遞變數值
(3)動態更改表頭和表尾
1.使用帶有乙個&號的變數值來提示使用者輸入乙個值
select empno,ename,sal,deptno
from emp
where empno=&employee_num;
使用set verify命令:使sql*plus顯示用某個具體值替換變數名之前和之後的命令的文字
(檢視當前verify的狀態 show verify,預設是on;如果是off的話,則不會顯示替換變數名之前的文字)
如果查詢條件是字串,需要在變數外層加上單引號
如果變數外層不加單引號,則需要在輸入值的時候加上單引號,不然會報錯
執行時指定列名、表示式、文字
使用替換變數對下列內容做出補充:
where條件,order by自居,列表示式,表名,整個select語句
使用&&後,只要輸入一次就行了
3.定義使用者變數
可以使用下面的兩個sql*plus命令來預定義使用者變數
define:建立char型別的使用者變數
accept:讀取使用者輸入並把它存在乙個變數裡面
說明:(1)當使用define命令來定義乙個包含空格的變數時,要用單引號將該變數括起來
(2)accept命令
當接收使用者輸入時,建立可定製的使用者提示
明確地定義number或date型別的變數
處於安全方面的考慮,隱藏使用者的輸入
在d盤根目下,建立乙個檔案mysql.txt
文字內容為:
accept dept_num prompt '請輸入部門號:'
select * from emp
where deptno=&dept_num;
在sqlplus中執行txt檔案的語句:
鍵入下面的命令
如果mysql.txt中的內容為:
accept dept_num prompt '請輸入部門號:' hide
select * from emp
where deptno=&dept_num;
則cmd互動過程中不會顯示出使用者輸入的內容
如果mysql.txt中的內容為:
accept var prompt '請輸入密碼:' hide
select ename,sal from emp
where 'admin'='&var'
order by sal desc;
則使用者需要正確輸入密碼後,才能檢視每個員工的工資資訊
define命令的使用示例:
PL SQL 一般變數與替代變數
語法 變數名 資料型別 not null 是否為空 default expr 賦值,1 pl sql 塊中可以使用變數 在宣告部分宣告,使用前必須先宣告 宣告時必須指定資料型別,每行宣告乙個識別符號 在可執行部分的 sql 語句和過程語句中使用 2 給變數賦值有兩種方法 使用賦值語句 使用 sele...
plsql基礎學習 二 PLSQL型別
標量資料型別 a.儲存單一的值 b.沒有內部結構 基本標量資料型別 char,varchar2,long,long raw,number,binary integer,pls integer,boolean,date,timestamp 一 oracle資料型別 1.字元資料型別 char,varc...
PL SQL基礎 定義並使用變數
介紹 在編寫pl sql程式時,可以定義變數和常量 在pl sql程式中包括有 標量型別 復合型別 參照型別 lob 標量 常用型別 在編寫pl sql塊時,如果要使用變數,需在定義部分定義變數。pl sql中定義變數和常量的語法如下 定義乙個變長字串 v ename varchar2 10 定義乙...