Oracle學習筆記(2)

2021-06-13 02:39:35 字數 4825 閱讀 6069

pl/sql             

pl

/sql優點:  

1 .良好的互動性  

2 .無法替代的觸發器功能  

3 .自動優化(尤其針對余大迴圈,

pl

/sql效能更優)

pl

/sql塊的結構  

declare

宣告部分: 在此宣告pl/sql用到的變數,型別及游標,以及區域性的儲存過程和函式  

begin

執行部分: 過程及sql 語句 , 即程式的主要部分 【執行部分是必須的】  

exception

執行異常部分: 錯誤處理  

end;

開啟輸出緩衝區命令:

set

serveroutput

on;

pl

/sql示例:   

begin

dbms_output.put_line(

'hello world!'

);   

end;

declare語句中宣告的變數,不要與表名或者列名重複,oracle在執行時會優先與表名和列名匹配從而替代後執行。

pl

/sql中表名列名不能使用變數進行指定。 【oracle只會將=右邊的變數進行替換】

記錄型別:   

type

record_type

is

record(

變數1  型別 [

not

null

] [:= 預設值],

變數2  型別 [

not

null

] [:= 預設值],

. . . . . .

變數n  型別 [

not

null

] [:= 預設值] );

記錄型別使用的例子: 

declare

type

test_rec

is

record(

code

varchar2

( 10

),name

varchar2

( 30

not

null

:=』a book』);

v_book test_rec;

v_book2 test_rec;

begin

v_book.code :=』

123』;

v_book.name :=』  c++ programming』;

dbms_output.put_line(v_book.code||v_book.name);

select

bookcode,bookname

into

v_book2.code,v_book2.name

from

bookinfo

where

id

= 1

;end;

使用%type

: 定義乙個變數,其資料型別與已經定義的某個資料變數的型別相同,或者與資料庫表的某個列的資料型別相同,這時可以使用%

type

例: 

declare

-- 用 %type 型別定義與表相配的字段

type

t_record

is

record(

t_no emp.empno%

type,

t_name emp.ename%

type,

t_sal emp.sal%

type

);使用%

rowtype

:返回乙個記錄型別, 其資料型別和資料庫表的資料結構相一致。

例:   

declare

emp1 emp%

rowtype

begin

select

id

,name

into

emp1

where

id

3 ;

end;

運算子和表示式:   略

簡單迴圈:

(a). loop迴圈

loop

要執行的語句;  

exit

when

《條件語句》;

/*條件滿足,退出迴圈語句*/

end

loop;

例:  

declare

int

number

( 2

) :=0;

begin

loop

int:= 

int

1 ;

dbms_output.put_line(

'int 的當前值為:'

||int);

exit

when

int

10;

end

loop;

end;

(b). while迴圈

while

《布林表示式》

loop

要執行的語句;  

exit

when

[條件];  

----條件滿足,提前退出迴圈

end

loop;

(c).數字式迴圈

for

迴圈計數器

in

reverse

] 下限 .. 上限

loop

要執行的語句;  

end

loop;

例: for

in

1 ..10

loop

dbms_output.put_line(i);  

end

loop

;     

標號和goto:     

goto

label;

. . . . . .

<<

label

>> 

/*標號是用<< >>括起來的識別符號 */

oracle 學習筆記 2

oracle 表管理 表名必須以字母開頭,不能超過30個字元,不用保留字,只能使用如下字元a z,a z,0 9,等。oracle資料型別 字元型char 定長 最大2000字元,效率高,查詢速度很快。char 10 不足10的用空格補齊。varchar2 變長 最大4000字元 clob 字元型大...

Oracle 學習筆記2

如何檢視一台機器的windows server 2003 系統是32位還是64位 開始 執行 cmd systeminfo 檢視資料庫是否處於force logging 模式?select force logging from v database 查詢oracle server端 的字符集?sel...

Oracle學習筆記 2

個人部落格 修改表中的列資訊 alter table vendor master modify vencode varchar 20 給表中列新增乙個預設值約束 alter table mytable modify name varchar2 20 default abc 為現有表中的列新增乙個主鍵...