conn /as sysdbaConnected.SQL> create tablespace plsql datafile /u01/oracle/oradata/ORCL/plsql01.dbf s..."/>
您好,登錄后才能下訂單哦!
PLSQL編程
1.環(huán)境的搭建
(1)創(chuàng)建一個存儲表空間
SQL> conn /as sysdba
Connected.
SQL> create tablespace plsql datafile '/u01/oracle/oradata/ORCL/plsql01.dbf' size 1G;
Tablespace created.
(2)創(chuàng)建PLSQL用戶
SQL> create user plsql identified by plsql default tablespace plsql;
User created.
(3)給PLSQL用戶授權(quán)
SQL> grant connect,resource to plsql;
Grant succeeded.
(4)執(zhí)行腳本
必須先連接到plsql用戶
SQL> conn plsql/plsql
Connected.
---------------選一下任意一種方法把實驗需要的數(shù)據(jù)對象,如:表......添加到plsql用戶下--------------------
SQL> @D:\baitu\data.sql --腳本放在客戶端,使用客戶端工具執(zhí)行
SQL> @/u01/data.sql --腳本放在服務(wù)器,直接服務(wù)器sqlplus中腳本的絕對路徑
(5)在PLSQL developer創(chuàng)建一個PLSQL連接
###########################################################################################2.PLSQL的簡單介紹
PL/SQL -- procedure language/struncture query langure
作用和優(yōu)勢:
(1)與數(shù)據(jù)庫引擎直接交互的,提高性能,但是,大并發(fā)的情況下,性能有所影響
(2)過程化的查詢語言,兼有面向?qū)ο蟮墓δ?br />(3)與SQL語句是緊密集成在一起的
(4)可以模塊化的開發(fā)。
2.1 基本概念
(1) 三種代碼塊
A 匿名塊 (沒有名字,不會存儲編譯在數(shù)據(jù)庫中,臨時執(zhí)行的代碼段)
declare
聲明變量
begin --程序開始執(zhí)行
程序執(zhí)行的部分
exception --異常處理
異常處理部分
end;
B 命名塊: 存儲過程(store procedure =SP )、函數(shù)(function=FUN)、包(package-PKG)
create or replace procedure xxxx(形參列表) is
聲明變量
begin
程序主體
exception
異常處理部分
end;
C 標(biāo)記塊:很少用到
(2)變量
A 字符串、數(shù)字、日期、時間、大對象、長文本
B 復(fù)合數(shù)據(jù)類型:游標(biāo)、記錄、集合、行變量、異常、index-by表
注意:varchar2作為表的字段,最長的長度是4000,而作為變量的話,長度可以達(dá)到32767
(3)注釋
A 單行注釋 --xxxxxxxx
B 多行注釋 /* xxxxxx */
(4)嵌套塊
declare
begin
---------------------------嵌套塊1---------------
begin
exception
end;
-------------------------------------------------
exception
---------------------------嵌套塊2---------------
begin
exception
end;
-------------------------------------------------
end;
2.2 程序的結(jié)構(gòu)
(1) 條件結(jié)構(gòu)
if xxxx then
action;
elsif xxxxx then
action;
else
action;
end if;
(2) 循環(huán)結(jié)構(gòu)
A loop循環(huán)
loop
exit when(循環(huán)退出的條件)
程序體
end loop;
B while loop循環(huán)
while (循環(huán)條件) loop
程序體
end loop;
C for loop循環(huán)
for idx in (結(jié)果集或者是游標(biāo)) loop
程序體
end loop;
(3) case when
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。