oracle学习笔记(四)
来源:互联网 发布:unity3d人物模型 编辑:程序博客网 时间:2024/06/05 06:50
oracle中的流程控制语句,主要包括选择语句和循环语句,选择语句也就是条件语句。
一、条件语句
1.if then 语句格式
if<condition> thenend if;
2.if then else 语句格式
if <condition> thenplsql语句1;
else
plsql语句2;
3.if then elsif 语句格式
if<condition> thenplsql语句1;
elsif<condition> then
plsql语句2;
elsif<condition> then
plsql语句3;
......
......
end if;
举个例子,用oracle自带的表emp作为基础。判断员工编号不同的两位员工,谁的名字字符更长。
DECLARE A EMP.ENAME%TYPE; B EMP.ENAME%TYPE;BEGIN SELECT EMP.ENAME INTO A FROM EMP WHERE EMP.EMPNO = 7369; SELECT EMP.ENAME INTO B FROM EMP WHERE EMP.EMPNO = 7499; IF LENGTH(A) > LENGTH(B) THEN DBMS_OUTPUT.PUT_LINE(A || '的名字长'); ELSIF LENGTH(A) > LENGTH(B) THEN DBMS_OUTPUT.PUT_LINE(B || '的名字长'); ELSIF LENGTH(A) = LENGTH(B) THEN DBMS_OUTPUT.PUT_LINE(A || '和' || B || '的名字一样长'); END IF;END;
4.case 语句格式
case<变量>when<1> then plsql语句1;
when<2> then plsql语句2;
when<3> then plsql语句3;
else
end case;
多情况判断时可以考虑用case语句替换elsif语句,因为case简洁明了。
二、循环语句
1.loop循环语句
格式:
loop
sql语句;
exit when 结束条件
end loop;
这种情况下会先执行一次循环体,然后再判断是否退出循环体。
格式:
loop
sql语句;
exit when 结束条件
end loop;
这种情况下会先执行一次循环体,然后再判断是否退出循环体。
SQL> DECLARE 2 --求1到10之和是多少 3 I INT := 0; 4 SUMI INT := 0; 5 BEGIN 6 LOOP 7 I := I + 1; 8 SUMI := SUMI + I; 9 EXIT WHEN I = 10; 10 END LOOP; 11 DBMS_OUTPUT.PUT_LINE('1到10求和为' || SUMI); 12 END; 13 /1到10求和为55PL/SQL procedure successfully completed
2.while循环语句
先判断条件是否满足,满足的话开始进入循环体,看下面的例子。DECLARE --求1到10之和是多少 I INT := 0; SUMI INT := 0;BEGIN WHILE I <= 9 LOOP I := I + 1; SUMI := SUMI + I; END LOOP; DBMS_OUTPUT.PUT_LINE('1到10求和为' || SUMI);END;
3.for循环语句
for循环是可以预置循环次数的控制语句,有一个计数器,下面的a就是这个功能,默认情况下这个计数器是逐渐递增的,但是也可以在前面加上关键字reverse,变成逐渐递减。
DECLARE --求1到10之和是多少 I INT := 0; SUMI INT := 0; a INT :=0;BEGIN FOR a IN 0 .. 9 LOOP I := I + 1; SUMI := SUMI + I; END LOOP; DBMS_OUTPUT.PUT_LINE('1到10求和为' || SUMI);END;
阅读全文
1 0
- Oracle学习笔记(四)
- Oracle学习笔记(四)
- Oracle学习笔记(四)
- Oracle学习笔记(四)
- oracle学习笔记(四)
- oracle学习笔记(四)
- oracle学习笔记四
- oracle 学习笔记四
- oracle学习笔记四
- oracle学习笔记(四)
- Oracle学习笔记(四)
- Oracle学习笔记(四)
- Oracle学习笔记(四)-- 字符函数
- oracle学习笔记(四)--转换函数
- oracle学习笔记(四)--日期函数
- oracle学习笔记(四)-- 数学函数
- Oracle PL/SQL 学习笔记(四)
- oracle数据库学习笔记(四)
- java基础习题50道(六)
- android中的后退键——onBackPressed()的使用
- Python_format()格式化函数
- jni 内存溢出
- android activityInfo
- oracle学习笔记(四)
- 图像增强
- vs编译时WinSock2.h级ws2def.h大量报错
- volatile关键字
- Java开发之调用shell命令并获取执行结果(Mac)
- python实现九九乘法表 (ver3.6)
- c语言32个关键字_数据类型
- latex 集合相关符号:实数集,整数集,并,包含
- 概率神经网络(PNN)