- 33
- 0
- 约1.59万字
- 约 22页
- 2017-05-13 发布于北京
- 举报
第十三章Oracle高级阶段编程
Oracle高级阶段编程
PL SQL编程
PLSQL块是结构化设计程序语言,是在SQL语言上发展的一种应用,可以集中的处理各种复杂的SQL操作。
组成
declare
i number;
--变量的定义
begin
--SQL语句操作处理
exception
--异常处理
end;
简单PL/SQL编写
变量定义
变量的定义,Oracle语言采用declare进行声明
数据类型可以采用Oracle内置的数据类型。
变量赋值
变量的赋值采用【:=】
结果输出
dbms_output.put_line(i的值||i);
异常处理
declare
i number;
--变量的定义
begin
--SQL语句操作处理
i:=1/0;
DBMS_OUTPUT.put_line(除数能为0);
exception
when ZERO_DIVIDE THEN
DBMS_OUTPUT.put_line(除数不能为0);
--异常处理
end;
相当于JAVA中
try{
i:=1/0;
DBMS_OUTPUT.put_line(除数能为0);
}catch(Exception e){
DBMS_OUTPUT.put_line(除数不能为0);
}
变量绑定
Oracle自身提供的工具采用的方式是a,但是采用PL/SQL DEV工具变量绑定的方式:a.
a表示变量名。
对于数据库操作变量采用方式:
select ename into ename_cp from emp t where t.empno = (:b);
作业:输入一个雇员编号,请将部门名称以及所在地点进行输出
DECLARE
i INTEGER;
Dname VARCHAR2(20);
Loc VARCHAR2(20);
BEGIN
i :=(:empno);
SELECT d.Dname, d.Loc INTO Dname, Loc FROM Emp t, Dept d WHERE t.Deptno = d.Deptno AND t.empno=i;
Dbms_Output.Put_Line(部门编号: || Dname || 部门地点: || Loc);
END;
字段数据类型定义
1.如果直接想利用数据库表中字段的类型,采用的方式:
Dname dept.dname%type; 表示dname变量数据类型与dept表中的dname字段类型一致。
如果要输出多列的值,采用into后面直接跟上需要输出的变量名。
如果直接代表一行数据,采用方式【emp_cp emp%rowtype;】表示变量emp_cp代表一行数据。
declare
-- Local variables here
i integer;
emp_cp emp%rowtype;
begin
select * into emp_cp from emp where empno =16;
Dbms_Output.Put_Line(员工编号: || emp_cp.empno || 员工姓名: || emp_cp.ename);
end;
如果检索的数据无记录,采用异常处理即可。
exception
when NO_DATA_FOUND then
dbms_output.put_line(无记录);
作业:打印emp表中某行的数据,要求没有数据时打印无数据,有数据时,对奖金如果为空时输出0.
疑问:如果查询的结果没有对应的数据了?
循环
While
declare
i integer;
begin
-- Test statements here
i :=1;
while(i 10) loop
dbms_output.put_line(count=||i);
i:= i+1;
end loop;
end;
While([条件表达式]) loop
数据库业务处理
End loop;
Loop【相当于do 。。。。while】
declare
-- Local variables here
i integer;
begin
-- Test statements here
i :=1;
loop
dbms_output.put_line(count=||i);
i:= i+1;
exit when i10;
end loop;
end;
您可能关注的文档
最近下载
- 图案变化与统一课件设计.pptx VIP
- 2025年金融风险管理师买入看跌期权与卖出看跌期权策略专题试卷及解析.pdf VIP
- 2025年拍卖师拍卖谈判中的谈判记录与总结技巧专题试卷及解析.pdf VIP
- 2025年房地产经纪人客户隐私保护监管政策解读专题试卷及解析.pdf VIP
- 基于单片机的数控直流稳压电源的设计.docx VIP
- 县域消费扶贫与长效帮扶机制分析.pdf VIP
- 2025年项目管理专业项目交付成果验收检查表编制专题试卷及解析.pdf VIP
- 煤矿露天改扩建项目竣工验收报告.docx
- 人体解剖学复习测试有答案(二).doc VIP
- 基于stm32的智能小车设计毕业设计论文.docx VIP
原创力文档

文档评论(0)