…………………………………………………………Page 379……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
l 程序员可以将功能划分为不同的逻辑代码块 编程的模块化为应用程序开发环境
提供了更大的灵活性
l SQL 语句可以并行执行以获得最优的性能
在 PL/SQL 中的数据类型
大多数数据的类型是相似的 但是每一种解释器都有自己独特的存储方式和内部过程
需要 在写 PL/SQL 的语句块时 你将会定义变量 它们必须是真实的数据类型 下边的
小标题对 PL/SQL 中可用的变量进行了详细的介绍
在 PL/SQL 中也提供了数据类型的子类型 例如 数据类型 NUMBER 的子类型叫
INTEGER 你可以在 PL/SQL 程序中使用子类型来保证它与其它程序如 COBOL 中数据类
型的一致 尤其是在其它的程序中内嵌的 PL/SQL 代码时更要如此 子类型只是 ORACLE
中数据类型的别名 所以它必须遵循与之相关联的数据类型的规则
注 在大多数的 SQL 解释器中语法的大小写是不敏感的 PL/SQL 同样允许在它的语句中
使用大小写 它也是大小写不敏感的
字符串类型
在 PL/SQL 中的字符串类型所你所想的一样 是一种常见的数据类型定义 它允许在
其中有字母和数字 像名字 代码 描述 序列号等都可以包括在字符串中
CHAR 中存储着固定长度的字符串 CHAR 在最大长度为 32767 个字节 尽管很难想
象在哪一个表中的字符串会有这么长
语法
CHAR ( max_length )
子类型 CHARACTER
VARCHAR2 则存储着长度可变的字符串 你会经常用 VARCHAR2 来存储长度可变的
字符串 比如某人的名字 VARCHAR2 所允许的最大长度为 32767 个字节
语法
VARCHAR2 ( max_length )
子类型 VARCHAR; STRING
379
…………………………………………………………Page 380……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
LONG 也可以存储变长的字符串 它的最大长度为 32760 个字节 LONG 是典型的用
以存储长文本如备注 尽管 VARCHAR2 也能做同样的工作
数值数据类型
NUMBER 用以存储在 ORACLE 数据库中的任何类型的数值
语法
NUMBER ( max_length )
你也可以使用下边的语法来指定数据类型的精度
NUMBER (precision; scale)
子类型 DEC DECIMAL DOUBLE PRECISION INTEGER INT NUMERIC REAL;
SMALLINT FLOAT
PLS_INTEGER 定义的整数是可以带有符号的 例如 负数
二进制数据类型
二进制数据类型可以以二进制形式来存储数据 如图形或图像 这种数据类型包括 RAW
和 LONGRAW
日期数据类型
DATE 是在 ORACLE 中可以有效存储的数据类型 如果你将某一列定义为 DATE 类型
你就不能指定它的长度 DATE 数据类型的长度是默认的 ORACLE 数据类型是像 01
OCT…97 这样的
逻辑数据类型
逻辑数据类型可以存储下列数值 TRUE FALSE 和 NULL 与 DATE 相类似 BOOLEAN
在作为列或变量的类型在定义时也不需要参数
380
…………………………………………………………Page 381……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
ROWID
ROWID 是存在于 ORACLE 数据库的每一个表中的预定义列 ROWID 以二进制格式
存储和确定表中的每一列 索引就是使用 ROWID 指向数据的
PL/SQL 块的结构
PL/SQL 是一种块结构语言 也就是说 PL/SQL 的程序可以分成逻辑块来写 在一个块
的内部可以有像数据操作或查询之类的过程 下边将会对 PL/SQL 的块进行详细的讨论
l 在 DECLARE 部分包括了定义的变量和其它的对象 如常量和指针 这一部分在
PL/SQL 块中是可以选择的
l PROCDURE 部分包括条件语句和 SQL 语句 块可以对它进行控制 它是 PL/SQL
的必须部分
l EXCEPTION 告诉了 PL/SQL 如何处理指定的错误并按用户的定义进行处理 它
也是 PL/SQL 的可选择部分
注 块是 PL/SQL 代码的逻辑单元 包括至少一个 PROCDURE 部分和可以选择的
DECLARE 以及EXCEPTION 部分
这里是 PL/SQL 块的基本结构
SYNTAX:
BEGIN … optional; denotes beginning of block
DECLARE … optional; variable definitions
BEGIN … mandatory; denotes beginning of procedure section
EXCEPTION … optional; denotes beginning of exception section
END … mandatory; denotes ending of procedure section
END … optional; denotes ending of block
请注意必要部分在第二个 BEGIN — — END 对中的 它构成了一个过程部分 当然
在它们中间是有语句的 如果你使用了第一个 BEGIN 那么你必须同时使用第二个 BEGIN
反之亦然
381
…………………………………………………………Page 382……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
注释
如果一个程序没有注释会怎样 编程语言提供了命令使你可以在你的代码中放放注
释 PL/SQL 当然不例外 你可以在需要注释的行前加一短线 公认的 PL/SQL 注释形式如
下 多行注释则与 C 语言的注释方法相同
语法
…This is a one…line ment。
/* This is a
multiple…line ment。*/
注 PL/SQL 可以直接支持数据操作言语 DML 命令和数据查询 然而 它不支持数据
字典语言 DDL 命令 你通常会使用 PL/SQL 维护在数据库结构中的数据 但是并
不能维护这些结构
DECLARE 部分
在 PL/SQL 的 DECLARE 部分包括了变量 常量 指针和特殊数据类型的定义 作为
一个 PL/SQL 程序员 你可以在你的代码块中定义所有类型的变量 但是你必须要指定数
据类型 而且每一个变量都必须与 ORACLE 中所定义的数据类型一致 变量也要符合
ORACLE 的对象命名标准
变量声明
在 PL/SQL 语句块中变量的数据是可变以 在变量声明时必须对它加以定义 如有必
须 还要进行初始化工作
小说推荐
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 最新章:第27章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 最新章:第309章
- 软件工程实践者的思想(PDF格式)
- -Page 1-大 道 至 简—软件工程实践者的思想周爱民(Aimingoo 著-Page 2-序2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给我,我翻看了一下,第一反应讲的是感想。这不错,在技
- 最新章:第26章
- 电子电路大全(PDF格式)
- -Page 1-电力生产人员技能培训电路基础部分电路基础部分电电路路基基础础部部分分-Page 2-一、电路的基本概念和基本定律-Page 3-考试点1o 1、掌握电阻、独立电压源、独立电流源、11受控源、电容、电感、耦合电感、理想变压器诸元件的定义、性质2o 2、掌握电流、电压参考方向的概念223
- 最新章:第353章