ORACLE
PL/SQL
<!---->1.
<!---->PL/SQL
是
SQL
语言存储过程的扩展
,
包括两部分
:
一部是数据库引擎部分
,
另一部分是可嵌入到其他许多产品
(C,JAVA)
工具中的独立引擎
.
可将这两部分称为数据库
PL/SQL
和工具
PL/SQL.
以下介绍的是数据库
PL/SQL
<!---->2.
<!---->PL/SQL
语言由以下几部分组成
:
<!---->1)
<!---->数据库定义语言
(DDL).
用于执行数据库中的任务
,
对数据库以及数据库中的各种对象进行创建
.
删除
,
修改
.
命令
|
功能说明
|
ALTER
PROCEDURE
|
重新编译存储过程
|
ALTER
TABLE
|
修改表
|
ANALYZE
|
收集数据库对象性能统计资料
|
ALTER
TABLE AND CONSTRAINT
|
在已有表上增加约束
|
CTREATE TABLE
|
创建表
|
CREATE
INDEX
|
创建索引
|
DROP
TABLE
|
删除表
|
DROP
INDEX
|
删除索引
|
<!---->2)
<!---->数据操纵语言
(DML).
用于操纵数据库中各种对象
,
检索
,
或修改数据
.
在使用
DML
前
,
必须获得相应的权限
.
命令
|
功能说明
|
SELECT
|
查询数据库
|
INSERT
|
插入一行记录
|
UPDATE
|
修改数据库记录
|
DELETE
|
从表中删除数据
|
<!---->3)
<!---->数据控制语言
(DCL)
用于安全管理
,
确定哪些用户可以查看或修改数据库中的数据
,DCL
包括的主要语句及其功能如下
:
命令
|
功能说明
|
GRANT
|
将用户或角色授与用户和角色
|
REVOKE
|
从用户或角色收回权限
|
PL/SQL
是面向过程的程序结构
,
包括以下几点
:
<!---->1)
<!---->变量和类型
<!---->2)
<!---->控制语句
<!---->3)
<!---->过程和函数
<!---->4)
<!---->对象类型和方法
<!---->3.
<!---->PL/SQL
结构
:
DECLARE
/**
变量声明
**/
BEGIN
Statements
Exceptions
END
其中变量声明和异常是可选的
.
<!---->4.
<!---->PL/SQL
标识符
:
所有的大小写英文字母
,
数字
0-9,
常用符号
(
无
”-“),
最大标识符为
30
个字符
<!---->5.
<!---->PL/SQL
运算符
:
算术运算符
{+,-,*,
/ ,**(
指数
),||(
连接
)},
关系运算符
{
常用比较运算符
,BETWEEN
AND ,IN ,LIKE,IS NULL};
逻辑运算符
{AND , OR ,NOT}
<!---->6.
<!---->其他符号
符号
|
意义
|
样例
|
( )
|
列表分隔
|
(‘john’,’rose’)
|
;
|
语句结束
|
Procedure_name(arg1,arg2)
|
.
|
项分离
|
Select * from account.table
|
‘
|
字符串定界符
|
If var1=’a+1’
|
:=
|
赋值
|
a:=a+1
|
||
|
并置
|
Fullname:=’a’||’b’
|
--
|
注释符
|
--this is a comment
|
/* */
|
注释定界符
|
/*this too is a
comment*/
|
<!---->7.
<!---->PL/SQL
变量
:
变量的类型可以是
PL/SQL
中的
,
也可以是自定义的
.
变量的定义
:<
变量名
><
数据类型
>[(
宽度
):=<
初始值
>]
如
:count varchar2(20):=’1’;
变量的属性包括变量名和数据类型
%TYPE
属性提供了变量和数据列的数据类型
.
如
:my_xh XS.XH%TYPE
表示变量
my_xh
和字段
XH
拥有相同的数据类型
.
使用
%TYPE
有两个优点
:
<!---->1)
<!---->不必知道
XH
列的确切数据类型
<!---->2)
<!---->如果改变了
XH
的列定义
,my_xh
的数据类型在运行时可自动修改
.
%ROWTYPE
用于声明表的行记录
.
对用户自定义的域
.
记录包含唯一的命名域
,
具有不同的数据类型
.
DECLARE
TYPE TimeRec is
RECORD (HH number(2),MM number(2));
TYPE MeetingTyp
is RECORD
(
Meeting_Date
date,
Meeting_Time
TimeRec,--
嵌套变量
Meeting_Addr
varchar2(20),
Meeting_Purpose varchar2(50)
)
DECLARE
cj_rec XS_KC%ROWTYPE
引用
my_xh := cj_rec.xh;
如果使用了游标提取
XH,KCH,CJ,XF
则可以使用
%ROWTYPE
声明一个记录保存相同的信息
.
DECLARE
CURSOR
IS
SELECT XH,KCH,CJ
FROM XS_KC
Cj_rec c1%ROWTYPE;
当执行下面的语句时
FETCH c1 INTO cj_rec;
在
XS_KC
表的
XH
列的值就是赋于
cj_rec
的
XH
域
变量的作用域
:
位于
BEGIN
END
之间
PL/SQL
常量定义
:
<
常量名
>CONSTANT<
数据类型
>:=<
值
>
PL/SQL
常用数据类型
:
VARCHAR
类型
NUMBER
类型
DATE
类型
BOOLEAN
类型
*
用户自定义数据类型
语法格式
:
TYPE typename IS system_data_type
Typename
是用户自定义的数据类型名称
,system_date_type
是自定义类型依赖的基类型
定义一个记录类型
TYPE xs_rec IS RECORD
{
Xh number(2) not null:=1;
Xm char(8)
}
数据类型转换
:
<!---->1)
<!---->TO_CHAR(
将
NUMBER,DATE
转换成
VARCHAR2
类型
)
<!---->2)
<!---->TO_DATE(
将
CHAR
转换成
DATE
类型
)
<!---->3)
<!---->TO_NUMBER:
将
CHAR
转换成
NUMBER
类型
PL/SQL
的自动转换
:
<!---->1)
<!---->字符型和数字型
<!---->2)
<!---->字符型和日期型
<!---->8.
<!---->PL/SQL
基本程序控制结构
:
1.
条件结构
:
IF
逻辑结构
(3
种表达式
)
1)IF-THEN
语法结构
:
IF
boolean_expression THEN
Run_experssion;
ENDIF;
2)IF-THEN-ELSE
语法格式
:
IF boolean_expression THEN
Run_expression;
ELSE
Run_expression2;
ENDIF;
3)IF-THEN-ELSIF-THEN-ELSE
语法格式
:
IF boolean_expression1 THEN
Run_expression1;
ELSIF boolean_expression2 THEN
Run_expression2;
ELSE
Run_expression3;
ENDIF;
2.
循环结构
1.LOOP – EXIT –END
循环
语法格式
:
LOOP
Run_expression ;
IF boolean_expression THEN
EXIT;
ENDIF;
END LOOP;
2.LOOP – EXIT-WHEN-END
语法格式
:
LOOP
Run_expression
EXIT WHEN boolean_expression
ENDLOOP
3.WHILE-LOOP-END
语法格式
:
WHILE boolean_expression
LOOP
Run_expression
END LOOP
4.FOR – IN –LOOP – END
语法格式
:
FOR count IN count_1 ..count_n
LOOP
Run_expression
END LOOP
说明
:
Count
是循环变量
,IN
确定循环变量的初始值
count_1
和终值
count_n,
在循环变量之间的范围之间的是分隔符
分享到:
相关推荐
### Oracle PL/SQL程序设计(第5版)(上下册)知识点概述 #### 一、PL/SQL编程基础 - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...
Oracle PL/SQL是一种强大的编程语言,它将关系数据库的强大功能与结构化编程的优点结合在一起,是Oracle数据库系统中不可或缺的一部分。在"Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本"中,读者可以深入...
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...
Oracle PL/SQL 是Oracle数据库系统中的过程化语言,它结合了SQL查询功能和高级编程特性,使得开发者可以创建复杂的数据库应用程序。在Oracle 11g R2版本中,PL/SQL与SQL Developer一起使用,提供了丰富的开发环境来...
《Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发》是一本深入探讨Oracle数据库中的PL/SQL编程的专业书籍。PL/SQL是Oracle数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库...
### Oracle PL/SQL Programming知识点概览 #### 一、书籍基本信息 - **书名**:Oracle PL/SQL Programming(第五版) - **作者**:Steven Feuerstein 和 Bill Pribyl - **出版日期**:2009年10月1日 - **出版社**:...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和Procedural Language的编程结构,用于在Oracle数据库环境中创建复杂的应用程序。在"Oracle PL/SQL实例精讲student数据库模式"中,我们将深入探讨...
Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作能力和PL(过程化语言)的程序设计特性,是Oracle数据库系统中的核心组件之一。《精通Oracle PL/SQL》这本书深入探讨了这个语言的...
《Oracle PL/SQL by Example(4th Edition)》是一本专为Oracle数据库用户设计的PL/SQL编程指南,尤其适合那些希望通过实践学习这一强大的过程式语言的开发者。本书的第四版详细介绍了Oracle PL/SQL的各种核心概念和...
Oracle PL/SQL最佳实践 Oracle PL/SQL是一种强大的编程语言,用于在Oracle数据库环境中构建复杂的业务逻辑和数据处理任务。Steven Feuerstein,被誉为Oracle PL/SQL语言的大师,分享了他在这一领域的关键最佳实践和...
Oracle PL/SQL 语言是Oracle数据库系统中的一种高级编程语言,它是SQL的扩展,专为数据库管理和应用程序开发设计。PL/SQL集成了SQL的查询、操纵、定义和控制功能,并添加了过程化编程元素,使其成为数据库管理和开发...
Oracle PL/SQL 编程及最佳实践 Oracle PL/SQL 是一种高级编程语言,用于开发 Oracle 数据库中的存储过程、函数和触发器。PL/SQL language 提供了强大的编程能力,可以实现复杂的业务逻辑,并且与 Oracle 数据库紧密...
《ORACLE PL/SQL 程序设计(第五版)》是Oracle数据库开发领域的一本经典教程,专注于讲解如何使用PL/SQL这一强大的过程化语言进行数据库编程。这本书旨在帮助读者掌握PL/SQL的基本概念、语法和高级特性,以便在实际...