本人的Blog更新:http://www.iwllsea.com/default.asp?cateID=9,涉及更多Oracle文章,希望对大家有所帮助。
//
简要说明该文档内容
SQL是用来访问关系型数据库一种通用语言,其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单的调用相应语句来直接取得结果即可。PL/SQL是一种过程化语言,因此可以用来实现比较复杂的业务逻辑。而本篇文章主要讲述PLSQL的书写及语法。
//
可自行增加小分类
2.1
等
1、
PLSQL语法
1、 PLSQL语法
1.1、 程序结构
PL/SQL
程序都是以块(block)为基本单位。整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头)和异常处理部分(以exception开头)。其中执行部分是必须的,其他两个部分可选。无论PL/SQL程序段的代码量有多大,其基本结构就是由这三部分组成。而且每条语句均由分号隔开。
/*
声明部分,以
declare
开头
*/
DECLARE
--declare statement
/*
执行部分,以
begin
开头
,
以
end
结束
*/
BEGIN
--execute statement
/*
异常处理部分,以
exception
开始
*/
EXCEPTION
WHEN exceptioncase THEN
--Exception handle
END
;
|
例子:
/*
声明部分,以
declare
开头
*/
DECLARE
v_job
NUMBER
(
10
);
/*
执行部分,以
begin
开头
*/
BEGIN
DELETE FROM
employee
;
INSERT INTO
employee
(
depno
,
job
)
VALUES
(
20
,
30
);
SELECT
job
INTO
v_job
FROM
employee
WHERE
depno
=
20
;
dbms_output
.
PUT_LINE
(
v_job
);
/*
异常处理部分,以
exception
开始
*/
EXCEPTION
WHEN
no_data_found
THEN
dbms_output
.
PUT_LINE
(
'No data.'
);
END
;
|
执行结果:
![](https://p-blog.csdn.net/images/p_blog_csdn_net/WillSea/faee10601a6f432488ca042c8fa165d5.png)
1.2、 数据类型
PL/SQL
主要用于数据库编程,所以其所有数据类型跟
oracle
数据库里的字段类型是一一对应的,大体分为数字型、布尔型、字符型和日期型。
1.3、 控制结构
PL/SQL程序段中有三种程序结构:条件结构、循环结构和顺序结构。
a)、条件结构
IF
condition1
THEN
statement1
ELSEIF
conditon2
THEN
statement2
ELSE
statementelse
END IF
;
|
b)、循环结构
三种循环结构:
简单循环(也称作无限循环):
LOOP
Loopstatement
END LOOP
;
|
WHILE 循环:
WHILE
condition
LOOP
loopstatement
END LOOP
;
|
数字FOR循环:
FOR
variable
IN
low_bound
. .
upper_bound
LOOP
loopstatement
END LOOP
;
|
通常,如果你总是希望循环主体执行至少一次,那么你就应当使用一个简单循环。如果你希望在第一次
运行循环主体之前检查该条件,则应使用 WHILE 循环。当你计划通过IN子句中指定的每个值(整数或记录)进行迭代时,则应当使用FOR循环。
c)、顺序结构
实际就是goto的运用,不过从程序控制的角度来看,尽量少用goto可以使得程序结构更加的清晰。