欢迎来到天天文库
浏览记录
ID:37299048
大小:178.00 KB
页数:14页
时间:2019-05-21
《第6课 pl sql语法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、PL/SQL程序设计简介1.1PL/SQL概述PL/SQL是ProcedureLanguage&StructuredQueryLanguage的缩写。Oracle的SQL是支持ANSI(AmericannationalStandardsInstitute)和ISO92(InternationalStandardsOrganization)标准的产品。PL/SQL是对SQL语言存储过程语言的扩展。从Oracle6以后,Oracle的RDBMS附带了PL/SQL。它现在已经成为一种过程处理语言,简称PL/SQL(发音:peaellseq
2、uel)。目前的PL/SQL包括两部分,一部分是数据库引擎部分;另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。可以将这两部分称为:数据库PL/SQL和工具PL/SQL。两者的编程非常相似。都具有编程结构、语法和逻辑机制。工具PL/SQL另外还增加了用于支持工具(如OracleForms)的句法,如:在窗体上设置按钮等。本章主要介绍数据库PL/SQL内容。1.2PL/SQL的好处l减少网络传输量l开发标准的代码l力争低偶联与高内聚性(少用全局变量和建立包来实现)l隐藏实现细节l统一的和集中的方式处理工程项目,以达
3、到重用l更好地设计数据库应用(标准化、降低维护)l支持SQL语句l支持面向对象编程l更好的性能l轻便性(portability)l更高的编程效率(productivity)1.3PL/SQL可用的SQL语句PL/SQL是Oracle系统的核心语言,现在Oracle的许多部件都是由PL/SQL写成。在PL/SQL中可以使用的SQL语句有:l在PL/SQL中可以用的SQL语句有:INSERTUPDATEDELETESELECTINTOCOMMITROLLBACKSAVEPOINT提示:在PL/SQL中只能用SQL语句中的DML部分,不能用D
4、DL部分,如果要在PL/SQL中使用DDL(如Createtable等)的话,只能以动态的方式来使用。lOracle的PL/SQL组件在对PL/SQL程序进行解释时,同时对在其所使用的表名、列名及数据类型进行检查。lPL/SQL可以在SQL*PLUS中使用。lPL/SQL可以在高级语言中使用。lPL/SQL可以在Oracle的开发工具中使用。l其它开发工具也可以调用PL/SQL编写的过程和函数,如PowerBuilder等都可以调用服务器端的PL/SQL过程。1.4PL/SQL内置包除了Oracle引擎提供环境让程序设计者根据应用要求来
5、开发各个存储过程、函数、包及触发器外。Oracle系统本身提供了一套功能强大的内置包。这些系统包都以DBMS_开头进行命名。用这些包可以完成许多Oracle管理功能。关于Oracle内置包的详细说明请参考《Oracle8ISuppliedPL/SQLPackagesReference》原版资料。下面是一些常用包的简单说明:lDBMS_ALERT数据库报警,允许会话间通信;lDBMS_JOB任务调度服务;lDBMS_LOB大对象操作用的包;lDBMS_PIPE数据库管道用的包;lDBMS_SQL动态SQL所用的包;lUTL_FILE文本文
6、件I/O所用的包。二、PL/SQL块结构和组成元素2.1PL/SQL结构PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。PL/SQL块的结构如下:Declare/*声明部分:在此声明PL/SQL用到的变量,类型及光标*/begin/*执行部分:过程及SQL语句,即程序的主要部分*/Exception/*执行异常部分:错误处理*/End;其中执行部分是必须的。2.2标识符PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同。要求和限制有:l标识符名不能超过30字符;l第一个字符必须为字母;l不分大小写;l不能
7、用’-‘(减号);l不能是SQL保留字。举例1:合法的标识符:declarev_namevarchar2(20);/*存放name列的值*/v_salnumber(9,2);/*存放sal列的值*/举例2:不合法的标识符:declarev-namevarchar2(20);/*存放name列的值*/2001_salnumber(9,2);/*存放sal列的值*/mine&yoursnumber;--非法的标识符debit-amountnumber(10,4);--非法的标识符on/offchar(1);--非法的标识符useridvar
8、char2(20);--非法的标识符(不能用空格)提示:一般不要把变量名声明与表中字段名完全一样,如果这样可能得到不正确的结果.变量命名在PL/SQL中有特别的究竟,建议在系统的设计阶段就要求所有编程人员共
此文档下载收益归作者所有