在開(kāi)始之前先講一下PL/SQL客戶端的安裝低剔,在安裝PL/SQL之前必須要先安裝oracle數(shù)據(jù)庫(kù)亲善,因?yàn)镻L/SQL只是使用數(shù)據(jù)庫(kù)的一個(gè)客戶端向臀。
安裝oracle時(shí)選擇安裝的東西選擇安裝admin里所有的東西工三,安裝好后犯建,第一次使用PL/SQL登錄時(shí)要先配置好tnsname.ora文件讲冠。
若遇到[ORA-12154: TNS: 無(wú)法解析指定的連接標(biāo)識(shí)符]問(wèn)題,則要先在工具->首選項(xiàng)->里先設(shè)置好oci.dll文件适瓦。
再次登錄即可
(1)運(yùn)算符
:= 表示賦值運(yùn)算符竿开;
.. 表示范圍運(yùn)算符谱仪;例如FOR int IN 1 .. v_count
|| 表示連接符號(hào),可以將兩個(gè)字段的值連接在一起否彩,例:select 姓||名 from user;
:p_empno := 7369;表示什么意思疯攒?
類似:x ,那么冒號(hào)其實(shí)是占位符的意思列荔,占位符在執(zhí)行時(shí)必須賦值敬尺。
(2)標(biāo)識(shí)符
PL/SQL程序設(shè)計(jì)中的標(biāo)識(shí)符定義與SQL 的標(biāo)識(shí)符定義的要求相同。要求和限制有:
a. 標(biāo)識(shí)符名不能超過(guò)30字符贴浙;
b. 第一個(gè)字符必須為字母砂吞;
c. 不分大小寫(xiě);
d. 不能用’-‘(減號(hào));
e. 不能是SQL保留字崎溃。
提示: 一般不要把變量名聲明與表中字段名完全一樣,如果這樣可能得到不正確的結(jié)果.
(3)PL/SQL塊結(jié)構(gòu)和組成元素
(4)DBMS_OUTPUT.PUT_LINE()方法的使用
只要是BEGIN和END之間蜻直,就可以使用DBMS_OUTPUT.PUT_LINE(output);
(5)%TYPE說(shuō)明
為了使一個(gè)變量的數(shù)據(jù)類型與另一個(gè)已經(jīng)定義了的變量(尤其是表的某一列)的數(shù)據(jù)類型相一致,Oracle提供了%TYPE定義方式袁串。當(dāng)被參照的那個(gè)變量的數(shù)據(jù)類型改變了之后概而,這個(gè)新定義的變量的數(shù)據(jù)類型會(huì)自動(dòng)跟隨其改變,容易保持一致囱修,也不用修改PL/SQL程序了赎瑰。
即v_name變量的類型始終與emp表中ename字段的類型保持一致。
(6)Oracle中的替換變量破镰,&變量名
替換變量的格式是在變量名稱前加一個(gè)&乡范,以便在運(yùn)行SQL命令時(shí)提示用戶輸入替換數(shù)據(jù),然后按輸入數(shù)據(jù)運(yùn)行SQL命令
語(yǔ)法:
& :“&變量名”
eg:&name;
生命周期:?jiǎn)未我弥衅⊙剩恍枰暶鹘荆绻鎿Q字符或日期類型,最好用單引號(hào)擴(kuò)起
使用范圍:where宇整、order by瓶佳、列表達(dá)式、表名鳞青、整個(gè)SELECT 語(yǔ)句中
select info.* from info
where age=&anumber
order by name;
(7)變量作用范圍及可見(jiàn)性
a. 變量的作用范圍是在你所引用的程序單元(塊霸饲、子程序、包)內(nèi)臂拓。即從聲明變量開(kāi)始到該塊的結(jié)束厚脉。
b. 一個(gè)變量(標(biāo)識(shí))只能在你所引用的塊內(nèi)是可見(jiàn)的。
c. 當(dāng)一個(gè)變量超出了作用范圍胶惰,PL/SQL引擎就釋放用來(lái)存放該變量的空間(因?yàn)樗赡懿挥昧耍?/p>
(8)注釋
使用 /* */ 來(lái)加一行或多行注釋傻工,
(9)可轉(zhuǎn)換的類型賦值
a. CHAR 轉(zhuǎn)換為 NUMBER:
使用 TO_NUMBER 函數(shù)來(lái)完成字符到數(shù)字的轉(zhuǎn)換,如:
v_total := TO_NUMBER(‘100.0’) + sal;
b. NUMBER 轉(zhuǎn)換為CHAR:
使用 TO_CHAR函數(shù)可以實(shí)現(xiàn)數(shù)字到字符的轉(zhuǎn)換,如:
v_comm := TO_CHAR(‘123.45’) || ’元’ ;
c. 字符轉(zhuǎn)換為日期:
使用 TO_DATE函數(shù)可以實(shí)現(xiàn) 字符到日期的轉(zhuǎn)換中捆,如:
v_date := TO_DATE('2001.07.03','yyyy.mm.dd');
d. 日期轉(zhuǎn)換為字符:
使用 TO_CHAR函數(shù)可以實(shí)現(xiàn)日期到字符的轉(zhuǎn)換鸯匹,如:
v_to_day := TO_CHAR(SYSDATE, 'yyyy.mm.dd hh24:mi:ss') ;
(10)標(biāo)號(hào)和GOTO
PL/SQL中GOTO語(yǔ)句是無(wú)條件跳轉(zhuǎn)到指定的標(biāo)號(hào)去的意思。語(yǔ)法如下:
GOTO label;
. . . . . .
<<label>> /*標(biāo)號(hào)是用<< >>括起來(lái)的標(biāo)識(shí)符泄伪,即跳轉(zhuǎn)到了《lable》處的語(yǔ)句 */
NULL 語(yǔ)句表示什么也不做殴蓬。