第9章PLSQL语言基础剖析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 PL/SQL语言基础 本章主要介绍PL/SQL语言基础、PL/SQL控制结构。PL/SQL记录和表类型、游标、过程和函数、触发器、程序包和异常处理等知识。 9.1 PL/SQL基础 PL/SQL是Procedure Language/Structuer Query Language的英文缩写,是Oracle对标准SQL规范的扩展,全面支持SQL的数据操作、事务控制等。PL/SQL完全支持SQL数据类型,减少了在应用程序和数据库之间转换数据的操作。 PL/SQL是一种块结构语言,即构成一个PL/SQL程序的基本单位是程序块。程序块由过程、函数和无名块三种形式组成,它们之间可以相互嵌套。PL/SQL程序块在执行时不必逐条在网络上传送SQL语句去执行,作为一组SQL语句的整体发送到Oracle。PL/SQL引擎还可以嵌入到Oracle开发工具中,这样在客户机上就可以处理PL/SQL代码,减少了网络数据流量。 PL/SQL能够在运行Oracle的任何平台上运行,但不能像其他高级语言一样编译成可执行文件去执行。SQL*Plus是PL/SQL语言运行的基本工具,当程序第一句以DECLARE或BEGIN开头时,系统会自动识别出PL/SQL语句,而不是直接的SQL命令。PL/SQL在SQL*Plus中运行时,当遇到斜杠(/)时才提交数据库执行,而不像SQL命令,遇到分号(;)就执行。 PL/SQL程序单元可以提高数据库的安全性,程序单元允许用户访问数据库对象,而不需向用户赋予特定对象的权限。DBA也可以利用PL/SQL的功能自动执行和处理一些日常管理任务。 下面先介绍PL/SQL语言的基础知识。 9.1.1 变量及声明 变量是存储值的内存区域,在PL/SQL中用来处理程序中的值。像其他高级程序语言一样,PL/SQL中的变量也要遵循一定的命名规则,约定如下: ① 变量名以字母开头,不区分大小写; ② 变量名由字母、数字以及$、#或_和特殊字符组成; ③ 变量长度最多包含30个字符; ④ 变量名中不能有空格; ⑤ 尽可能避免缩写,用一些具有意义的单词命名; ⑥ 不能用保留字命名。 正确的变量命名,如Mynumber1,My_number1,My$money,v_temp,TEMP,money$$$tree,SN##,try_again等。 非法的变量命名,如1Mynumber,my number 1,mymoney,vtemp123456-7891011121314151617181920等。其中,1Mynumber以数字开头非法,my number 1中间有空格非法,mymoney使用了非法字符,vtemp1234567891011121314151617181920长度过长,超过了30个字符长度。 在PL/SQL中,使用变量前一定要声明,声明变量的语句格式如下: 变量名 [CONSTANT] 数据类型 NOT NULL [DEFAULT | := 默认值] 其中,CONSTANT选项表示申明的是固定不变的值,即常量。数据类型指变量的数据类型,常用的数据类型如CHAR,NUMBER,DATE等。NOT NULL表示该变量非空,必须指定默认值。DEFAULT和“:=”作用相同可互换。 下面的一组语句声明了几个变量。 ID CONSTANT Integer := 100; c Char(4); n Number(5) DEFAULT 100.00; last_name Varchar2(10) := WANG; d Date; isfinished Boolean DEFAULT TRUE; 9.1.2 数据类型 PL/SQL除了可以使用基本数据类型以外,还允许用户自定义数据类型,如记录类型、TABLE类型、OBJECT类型以及XML类型等。 PL/SQL的数据类型之间可以相互转换,PL/SQL提供了一些类型转换函数,但并不是所有的数据类型之间都可以相互转换。常用的类型转换函数见表9-1。 表9-1 常用的类型转换函数 名 称 说 明 TO_CHAR 转换为CHAR类型 TO_DATE 转换为DATE类型 TO_TIMESTAMP 转换为TIMESTAMP类型 TO_NUMBER 转为为NUMBER类型 HEX_TO_RAW 将十六进制转化为二进制 RAW_TO_HEX 将二进制转化为十六进制 TO_BINARY_FLOAT 转换为BINARY_FLOAT类型 TO_BINARY_DOUBLE 转换为BINARY_DOUBLE类型 TO_LOB 转换为大对象类型 TO_BLOB 转换为BLOB类型 TO_CLOB 转换为CLOD类型 TO_NCLOB 转换为NCLOB类型 9.1.3 表达式

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档