第十三章Oracle高级阶段编程.docVIP

  • 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;

文档评论(0)

1亿VIP精品文档

相关文档