plsql基礎學習 三 一般變數與替代變數

2021-08-27 09:02:32 字數 3296 閱讀 5228

一、宣告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 定義乙...