- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
                        查看更多
                        
                    
                PL/SQL 总结-1 目录 PL/SQL 简介 PL/SQL 的优点 PL/SQL 块结构 使用 PL/SQL 变量 PL/SQL 词法单元 PL/SQL 数据类型 使用标量数据类型 编写匿名块 嵌套块和变量作用域 良好的编程习惯 PL/SQL中的 SQL PL/SQL的DML PL/SQL中的 TCL IF 语句 CASE 语句 循环控制:基本循环 While 和 For 循环 嵌套循环 PL/SQL 简介 此部分讲解: 什么是 PL/SQL SQL 和 PL/SQL的区别  为什么需要 PL/SQL   PL/SQL 简介 什么是 PL/SQL? 表示 Procedural Language extension to SQL,即 SQL 的过程语言扩展 它允许将过程控制语句与 SQL语句结合使用 Oracle 特有的编程语言 只能在 Oracle 数据库或工具中使用 过程语言 一组指令顺序执行后可得到一个结果 是 3GL (第三代编程语言) 是高级编程语言  PL/SQL 简介 什么是 SQL?(Structured Query Language ) 用于在关系数据库中访问和修改数据的语言 是非过程语言 也称为 “声明性语言”,程序员可只关注输入、输出,而不用关心程序执行的步骤 是 4GL (第四代编程语言) 比编程语言更接近自然语言的; 查询语言通常是 4GL 是包括 Oracle在内的很多数据库中的通用语言 符合ANSI标准 (American National Standards Institute ) PL/SQL 简介 SQL 语句 SELECT class_id, student_id, numeric_grade, letter_grade FROM class_enrollments; 上述SQL 语句非常简洁. 然而如果你需要有条件的修改返回的数据(如果数据是 xyz 就这样做), 你就遇到了 SQL 的局限性. 例如, 怎样通过一条 SQL 语句根据变化的数字成绩修改不同班级里学生的字母成绩 letter_grade? PL/SQL 简介 PL/SQL 简介 SQL 的局限性 可能的解决方案如下 UPDATE class_enrollments SET letter_grade=‘A’ WHERE class_id=1 AND number_grade BETWEEN 66 and 75;  UPDATE class_enrollments SET letter_grade=‘B’ WHERE class_id=1 AND number_grade between 56 and 65;  等等… 你需要为 class_id=1 写多少SQL语句 ? 为 class_id=2? 如果有 20 个班级呢? PL/SQL 简介 SQL 的局限性 一个解决方案是在 SQL 语句中用 class_id 和 number_grade 组合作为条件. 这样 class_id=1需要5条SQL语句:  UPDATE class_enrollments SET letter_grade=‘A’ WHERE class_id=1 AND number_grade BETWEEN 66 and 75; UPDATE class_enrollments SET letter_grade=‘B’ WHERE class_id=1 AND number_grade BETWEEN 56 and 65; UPDATE class_enrollments SET letter_grade=‘C’ WHERE class_id=1 AND number_grade BETWEEN 46 and 55; UPDATE class_enrollments SET letter_grade=‘D’ WHERE class_id=1 AND number_grade BETWEEN 36 and 45; UPDATE class_enrollments SET letter_grade=‘F’ WHERE class_id=1 AND number_grade =35; PL/SQL 简介 SQL 的局限性 同样,其他的每个班级也需要 5条SQL语句  如果一条语句能解决问题就会更简单。这样,语句本身需要逻辑判断,也被称为条件判断或过程逻辑  PL/SQL 为 SQL 扩展了过程逻辑 PL/SQL 简介 PL/SQL 为 SQL 扩展了过程逻辑: DECLARE 	v_new_letter_grade varchar2(1); 	CURSOR c_enrollments IS 		SELECT student_id, number_grade
                 原创力文档
原创力文档 
                        

文档评论(0)