第十二课 Oracle 使用复合数据类型ppt课件.ppt

第十二课 Oracle 使用复合数据类型ppt课件.ppt

ID:59011168

大小:248.00 KB

页数:45页

时间:2020-09-26

第十二课 Oracle 使用复合数据类型ppt课件.ppt_第1页
第十二课 Oracle 使用复合数据类型ppt课件.ppt_第2页
第十二课 Oracle 使用复合数据类型ppt课件.ppt_第3页
第十二课 Oracle 使用复合数据类型ppt课件.ppt_第4页
第十二课 Oracle 使用复合数据类型ppt课件.ppt_第5页
资源描述:

《第十二课 Oracle 使用复合数据类型ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、复习访问Oracle在Oracle数据库开发PL/SQL块中使用的SQL分为静态SQL语句和动态SQL语句。所谓静态SQL是指在PL/SQL块中使用的SQL语句在编译时是明确的,执行的是确定对象。在静态SQL语句中只能直接嵌入SELECT、DML语句和事务控制语句,而不能直接嵌入DDL语句和DCL语句。练习:在PL/SQL块中不能直接嵌入一下哪些语句?A、SELECTB、INSERTC、CREATETABLED、GRANTE、COMMIT练习:输入职工编号,获取管理者姓名。DECLAREv_mgrnamescott.emp.ename%type;BEGINselectma

2、nager.enameintov_mgrnamefromscott.empworker,scott.empmanagerwhereworker.mgr=manager.empnoandworker.empno=&no;dbms_output.put_line(v_mgrname);END;编写控制结构PL/SQL的控制结构:条件结构循环结构顺序结构IFconditionTHEN……….;条件语句ELSE……….;ENDIF;ELSIFconditionTHEN……….;case语句使用case语句处理多重分支有两种方法:1、使用单一选择符进行等值比较。2、使用多种条件进行

3、非等值比较。如果条件选择符完全相同,并且条件表达式为相等条件选择,那么可以选择使用单一条件选择符进行等值比较。CASE条件选择符WHEN条件表达式1THEN…….;WHEN条件表达式2THEN…….;…….[ELSE……..;]ENDCASE;在case语句中使用单一选择符进行等值比较如果包含有多种条件进行不等比较,那么必须在where子句中指定比较条件。CASEWHEN条件表达式1THEN…….;WHEN条件表达式2THEN…….;…….[ELSE……..;]ENDCASE;在case语句中使用多种条件进行不等比较基本循环是PL/SQL最简单的循环语句。语法如下:基本循

4、环LOOP……….EXIT

5、EXITWHENENDLOOP;语法如下:WHILE循环WHILEconditionLOOP……….……….ENDLOOP;当使用FOR循环时,Oracle会隐含定义循环控制变量,语法如下:FOR循环FORcounterIN[REVERSE]lower_bound..upper_boundLOOP……….ENDLOOP;使用复合数据类型NEWPL/SQL记录:主要用于处理单行多列的数据。PL/SQL集合:主要用于处理多行单列的数据。集合包括PL/SQL表、嵌套表、VARRAY。PL/SQL有两种复合数据类型:PL/SQL记录和PL/SQL集合。

6、注:数字型、字符型等由Oracle预定义,定义变量时可以直接用,但复合数据类型在使用前必须提前定义。PL/SQL复合数据类型PL/SQL记录:主要用于处理单行多列的数据,PL/SQL记录由一组相关的域组成。记录可以看成是表中的数据行,域相当于表中的列。PL/SQL记录比如:为了检索雇员名、工资和补助,需要定义三个标量变量,这时我们可以选择使用PL/SQL记录。记录定义有两种方式:显示定义和隐式定义。定义PL/SQL记录显示定义记录:是指在PL/SQL块中的声明部分,使用type命令定义,然后再定义该记录的变量。语法如下:TYPEtype_nameISRECORD(域名1数

7、据类型[notnull][{:=

8、default}de_val],域名2数据类型[notnull][{:=

9、default}de_val],………);<变量名><记录名>;例:TYPEemp_record_typeISRECORD(nameemp.ename%TYPE,salaryemp.sal%TYPE,dnoemp.deptno%TYPE);emp_recordemp_record_type;定义PL/SQL记录隐式定义记录:使用%ROWTYPE属性来隐式定义记录变量。如法如下:记录变量名[table_name

10、view_name]%ROWTYPE;注:%ROWTYP

11、E属性基于表或视图定义记录变量,记录变量中每个域的名称、数据类型与表或视图列的名称、数据类型完全相同。例:dept_recorddept%ROWTYPE;emp_recordemp%ROWTYPE;记录由域组成,访问记录中的域使用“.”符号,语法如下:记录变量名.域名使用PL/SQL记录例:DECLAREv_empscott.emp%rowtype;BEGINv_emp.ename:='SMITH';v_emp.job:='CLERK';dbms_output.put_line(v_emp.ename

12、

13、'worksas'

14、

15、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。