Oracle学习笔记2.docx
- 文档编号:2862520
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:28
- 大小:19.28KB
Oracle学习笔记2.docx
《Oracle学习笔记2.docx》由会员分享,可在线阅读,更多相关《Oracle学习笔记2.docx(28页珍藏版)》请在冰豆网上搜索。
Oracle学习笔记2
接oracle-学习笔记-1
-------------------------------------
4.PL/SQL块
4.1PL/SQL块
SQL>declare
2 xvarchar2(10);
3 begin
4 x:
='Thisis..';
5 dbms_output.put_line('x的值为:
'||x);
6 end;
7 /
PL/SQL过程已成功完成。
SQL>setserveroutputonsize10000
SQL>l
1 declare
2 xvarchar2(10);
3 begin
4 x:
='Thisis..';
5 dbms_output.put_line('x的值为:
'||x);
6*end;
SQL>/
x的值为:
Thisis..
PL/SQL过程已成功完成。
SQL>l
1 declare
2 xvarchar2(10):
='ABCDE';
3 ystring(10):
='123';
4 begin
5 --x:
='Thisis..';
6 dbms_output.put_line('x的值为:
'||x||'y的值为:
'||y);
7 /*
8 dbms_output.put_line('x的值为:
'||x);
9 dbms_output.put('x的值为:
'||x);
10 */
11*end;
SQL>@plsql_01
x的值为:
ABCDEy的值为:
123
PL/SQL过程已成功完成。
4.2分支语句
SQL>l
1 declare
2 anumber;
3 bvarchar2(10);
4 begin
5 a:
=2;
6 ifa=1then
7 b:
='A';
8 elsifa=2then
9 b:
='B';
10 else
11 b:
='C';
12 endif;
13 dbms_output.put_line('b的值是:
'||b);
14*end;
SQL>/
b的值是:
B
PL/SQL过程已成功完成。
SQL>l
1 declare
2 anumber;
3 bvarchar2(10);
4 begin
5 a:
=53;
6 ifa=1then
7 b:
='A';
8 elsifa=2then
9 b:
='B';
10 else
11 b:
='C';
12 endif;
13 dbms_output.put_line('b的值是:
'||b);
14*end;
SQL>/
b的值是:
C
PL/SQL过程已成功完成。
4.3循环语句
SQL>l
1 declare
2 xnumber;
3 begin
4 x:
=0;
5 loop
6 x:
=x+1;
7 ifx>=3then
8 exit;
9 endif;
10 dbms_output.put_line('内:
x='||x);
11 endloop;
12 dbms_output.put_line('外:
x='||x);
13*end;
SQL>/
内:
x=1
内:
x=2
外:
x=3
PL/SQL过程已成功完成。
SQL>l
1 declare
2 xnumber;
3 begin
4 x:
=0;
5 loop
6 x:
=x+1;
7 exitwhenx>=3;
8 dbms_output.put_line('内:
x='||x);
9 endloop;
10 dbms_output.put_line('外:
x='||x);
11*end;
SQL>/
内:
x=1
内:
x=2
外:
x=3
PL/SQL过程已成功完成。
SQL>l
1 declare
2 xnumber;
3 begin
4 x:
=0;
5 whilex<=3loop
6 x:
=x+1;
7 dbms_output.put_line('内:
x='||x);
8 endloop;
9 dbms_output.put_line('外:
x='||x);
10*end;
SQL>/
内:
x=1
内:
x=2
内:
x=3
内:
x=4
外:
x=4
PL/SQL过程已成功完成。
SQL>l
1 begin
2 foriin1..5loop
3 dbms_output.put_line('i='||i);
4 endloop;
5 dbms_output.put_line('endofforloop');
6*end;
SQL>/
i=1
i=2
i=3
i=4
i=5
endofforloop
PL/SQL过程已成功完成。
SQL>l
1 begin
2 foriinreverse1..5loop
3 dbms_output.put_line('i='||i);
4 endloop;
5 dbms_output.put_line('endofforloop');
6*end;
SQL>/
i=5
i=4
i=3
i=2
i=1
endofforloop
PL/SQL过程已成功完成。
SQL>l
1 declare
2 xnumber;
3 begin
4 x:
=0;
5 <
6 x:
=x+1;
7 dbms_output.put_line('x='||x);
8 ifx<3then
9 gotorepeat_loop;
10 endif;
11*end;
SQL>/
x=1
x=2
x=3
PL/SQL过程已成功完成。
4.4异常处理
SQL>l
1 declare
2 bvarchar2(10);
3 begin
4 selectenameintobfromempwhereempno='1';
5 dbms_output.put_line(b);
6*end;
SQL>/
declare
*
第1行出现错误:
ORA-01403:
未找到数据
ORA-06512:
在line4
SQL>l
1 declare
2 bvarchar2(10);
3 begin
4 selectenameintobfromempwhereempno='1';
5 dbms_output.put_line(b);
6*end;
SQL>l
1 declare
2 bvarchar2(10);
3 begin
4 selectenameintobfromempwhereempno='1';
5 dbms_output.put_line(b);
6 exception
7 whenno_data_foundthen
8 dbms_output.put_line('没有找到数据!
');
9*end;
SQL>/
没有找到数据!
PL/SQL过程已成功完成。
SQL>l
1 declare
2 bvarchar2(10);
3 eexception;
4 begin
5 selectenameintobfromempwhereempno='7369';
6 ifb<>'张三'then
7 raisee;
8 endif;
9 dbms_output.put_line(b);
10 exception
11 whenethen
12 dbms_output.put_line('错误,不是张三!
');
13*end;
SQL>/
错误,不是张三!
PL/SQL过程已成功完成。
4.5记录-复合变量
SQL>l
1 declare
2 typemyrecordisrecord(
3 idnumber,
4 namevarchar2(10));
5 real_recordmyrecord;
6 begin
7 selectempno,enameintoreal_recordfromempwhereempno='7566';
8 dbms_output.put_line(real_record.id||','||real_record.name);
9*end;
SQL>/
7566,JONES
PL/SQL过程已成功完成。
SQL>l
1 declare
2 typemyrecordisrecord(
3 idemp.empno%type,
4 namevarchar2(10));
5 real_recordmyrecord;
6 begin
7 selectempno,enameintoreal_recordfromempwhereempno='7566';
8 dbms_output.put_line(real_record.id||','||real_record.name);
9*end;
SQL>/
7566,JONES
PL/SQL过程已成功完成。
SQL>l
1 declare
2 myrecemp%rowtype;
3 begin
4 select*intomyrecfromempwhereempno='7566';
5 dbms_output.put_line(myrec.empno||','||myrec.ename||','||myrec.job);
6*end;
SQL>/
7566,JONES,MANAGER
PL/SQL过程已成功完成。
5.PL/SQL高级应用
5.1游标
使用游标可以充分操纵表的每一行
SQL>l
1 declare
2 cursormycuris
3 select*frombooks;
4 myrecordbooks%rowtype;
5 begin
6 openmycur;
7 fetchmycurintomyrecord;
8 whilemycur%foundloop
9 dbms_output.pu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 学习 笔记
![提示](https://static.bdocx.com/images/bang_tan.gif)