一,PL SQL
1)介绍
PL/SQL 块是在sql 语句中语言之上发展起来的一种应用,可以集中的处理各种复杂的SQL 操作。
语句格式:
DECLARE:
声明部分
BEGIN
编写主题
EXCEPTION
捕获异常
END
/
2)do…while 循环
PL/SQL 之中也包含了:循环、分支等条件控制语句。
语句格式:
LOOP
循环的语句
EXIT WHEN 终止条件
循环条件必须更改
END LOOP ;
循环输出 1~10:
DECLARE
cou NUMBER ;
BEGIN
-- 必须给一个初始值
cou := 1;
LOOP
DBMS_OUTPUT.put_line('cou = ' || cou);
EXIT WHEN cou > 10;
cou := cou + 1;
END LOOP;
END ;
/
--此循环会先执行一次再进行循环
3)while 循环
格式:
while(判断循环的条件) loop
循环的语句;
循环条件的改变;
END loop;
循环输出 1~10:
DECLARE
cou NUMBER ;
BEGIN
-- 必须给一个初始值
cou := 1;
WHILE(cou < 10) LOOP
DBMS_OUTPUT.put_line('cou = ' || cou);
cou := cou + 1;
END LOOP;
END;
/
--此循环会先判断再执行语句
4)for 循环
格式:
FOR 变量名 in 变量的初始值..结束值 lOOP
循环语句;
END loop;
循环输出 1~10:
DECLARE
cou NUMBER ;
BEGIN
--此语句会自动将1到10赋值给cou
FOR cou in 1..10 loop
DBMS_OUTPUT.put_line('cou = ' || cou);
END LOOP;
END ;
/
5)if 条件判断
格式:
IF 条件 THEN
满足条件时, 执行此语句
END IF;
案例:
DECLARE
cou NUMBER ;
BEGIN
cou := 11;
IF cou > 10 THEN
DBMS_OUTPUT.put_line('cou = ' || cou);
end if;
END ;
/
--输出11
6)if…else 条件判断
格式:
IF 条件 THEN
满足条件时, 执行此语句
END IF;
案例:
DECLARE
cou NUMBER ;
BEGIN
cou := 8;
IF cou > 10 THEN
DBMS_OUTPUT.put_line('cou = ' || cou);
ELSE
DBMS_OUTPUT.put_line('cou = ' || cou);
end if;
END ;
/
--输出8
7)if…elsif…else 条件判断
格式:
IF 条件 THEN
满足条件时, 执行此语句
ELSIF 条件 THEN
满足此条件时,执行此语句
ELSE
END IF;
案例:
DECLARE
cou NUMBER ;
BEGIN
cou := 8;
IF cou > 10 THEN
DBMS_OUTPUT.put_line('cou = ' || cou);
ELSIF cou < 5 THEN
DBMS_OUTPUT.put_line('cou = ' || cou);
ELSE
DBMS_OUTPUT.put_line('cou = ' || cou);
end if;
END ;
/
--输出8
8)GOTO 语句
格式:
IF 条件 THEN
满足条件时, 执行此语句
ELSIF 条件 THEN
满足此条件时,执行此语句
ELSE
END IF;
案例:
DECLARE
emo EMPLOYEE.EMP00%TYPE;
name EMPLOYEE.EMP01%TYPE;