13-1:简单的条件判断
DECLARE
v_sal NUMBER(6,2);
BEGIN
SELECT sal INTO v_sal FROM emp
WHERE lower(ename)=lower('&&name');
IF v_sal<2000 THEN
UPDATE emp SET sal=v_sal+200
WHERE lower(ename)=lower('&name');
END IF;
END;
/
13-2:二重条件分支
DECLARE
v_comm NUMBER(6,2);
BEGIN
SELECT comm INTO v_comm FROM emp
WHERE empno=&&no;
IF v_comm<>0 THEN
UPDATE emp SET comm=v_comm+100
WHERE empno=&no;
ELSE
UPDATE emp SET comm=200
WHERE empno=&no;
END IF;
END;
/
13-3:多重条件分支
DECLARE
v_job VARCHAR2(10);
v_sal NUMBER(6,2);
BEGIN
SELECT job,sal INTO v_job,v_sal
FROM emp WHERE empno=&&no;
IF v_job='PRESIDENT' THEN
UPDATE emp SET sal=v_sal+1000 WHERE empno=&no;
ELSIF v_job='MANAGER' THEN
UPDATE emp SET sal=v_sal+500 WHERE empno=&no;
ELSE
UPDATE emp SET sal=v_sal+200 WHERE empno=&no;
END IF;
END;
/
13-4:在case语句中使用单一选择符进行等值比较
DECLARE
v_deptno emp.deptno%TYPE;
BEGIN
v_deptno:=&no;
CASE v_deptno
WHEN 10 THEN
UPDATE emp SET comm=100 WHERE deptno=v_deptno;
WHEN 20 THEN
UPDATE emp SET comm=80 WHERE deptno=v_deptno;
WHEN 30 THEN
UPDATE emp SET comm=50 WHERE deptno=v_deptno;
ELSE
dbms_output.put_line('不存在该部门');
END CASE;
END;
/
13-5:在case语句中使用多种条件比较
DECLARE
v_sal emp.sal%TYPE;
v_ename emp.ename%TYPE;
BEGIN
SELECT ename,sal INTO v_ename,v_sal
FROM emp WHERE empno=&no;
CASE
WHEN v_sal<1000 THEN
UPDATE emp SET comm=100 WHERE ename=v_ename;
WHEN v_sal<2000 THEN
UPDATE emp SET comm=80 WHERE ename=v_ename;
WHEN v_sal<6000 THEN
UPDATE emp SET comm=50 WHERE ename=v_ename;
END CASE;
END;
/
13-6:基本循环
CREATE TABLE temp(cola INT);
DECLARE
i INT:=1;
BEGIN
LOOP
INSERT INTO temp VALUES(i);
EXIT WHEN i=10;
i:=i+1;
END LOOP;
END;
/
13-7:while循环
DECLARE
i INT :=1;
BEGIN
WHILE i<=10 LOOP
INSERT INTO temp VALUES(i);
i:=i+1;
END LOOP;
END;
/
13-8:for循环
BEGIN
FOR i IN REVERSE 1..10 LOOP
INSERT INTO temp VALUES(i);
END LOOP;
END;
/
13-9:嵌套循环和标号
DECLARE
result INT;
BEGIN
<<outer>>
FOR i IN 1..100 LOOP
<<inter>>
FOR j IN 1..100 LOOP
result:=i*j;
EXIT outer WHEN result=1000;
EXIT WHEN result=500;
END LOOP inner;
dbms_output.put_line(result);
END LOOP outer;
dbms_output.put_line(result);
END;
/
13-10:exit和exit when语句
DECLARE
i INT:=1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE(i);
EXIT WHEN i=5;
i:=i+1;
END LOOP;
END;
/
13-11:countinue和continue when语句
DECLARE
i INT:=0;
BEGIN
LOOP
i:=i+1;
CONTINUE WHEN i=3;
DBMS_OUTPUT.PUT_LINE(i);
EXIT WHEN i=5;
END LOOP;
END;
/
13-12:goto
DECLARE
i INT:=1;
BEGIN
LOOP
INSERT INTO temp VALUES(i);
IF i=10 THEN
GOTO end_loop;
END IF;
i:=i+1;
END LOOP;
<<end_loop>>
dbms_output.put_line('循环结束');
END;
/
13-13:null
DECLARE
v_sal emp.sal%TYPE;
v_ename emp.ename%TYPE;
BEGIN
SELECT ename,sal INTO v_ename,v_sal
FROM emp WHERE empno=&no;
IF v_sal<3000 THEN
UPDATE emp SET comm=sal*0.1 WHERE ename=v_ename;
ELSE
NULL;
END IF;
END;
/
分享到:
相关推荐
这份"Python学习笔记"涵盖了从环境搭建到基础语法,再到数据类型和控制结构等关键知识点,旨在为初学者提供全面的学习指导。 首先,1.1章节介绍了Python的基础,包括Python的起源和历史。Python是由Guido van ...
学习Python时,你会接触到变量、数据类型、控制结构(如if-else语句和for循环)、函数、模块和面向对象编程。此外,Python广泛应用于数据分析、机器学习、网络编程和Web开发等领域。 2. HTML(超文本标记语言): ...
《林信良Java学习笔记》是一本深受程序员喜爱的Java学习资源,尤其因其繁体字版,对于中文读者来说,提供了更为亲切的阅读体验。这本书深入浅出地讲解了Java编程语言的基础知识和高级特性,旨在帮助初学者快速掌握...
- 第1章 基础:介绍Go语言的基本概念,包括变量、基本类型、类型转换、常量、字符串、运算符、指针、保留字、控制结构、自定义类型、初始化和内置函数。 - 第2章 函数:涵盖函数类型、多返回值、命名返回参数、变参...
3. 版本控制:作为一个名为“master”的目录,可能表明这份学习笔记使用了Git等版本控制系统来管理,这样可以追踪修改历史,便于协作和回溯。 4. 项目结构:在IT学习中,良好的项目结构至关重要。"StudyNotes-...
### 韩顺平编写的Java学习笔记概览 #### Java平台分类与运行机制 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java 2 Platform, Enterprise ...
【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...
Perl是一种强大的脚本编程语言,...以上就是Perl学习笔记中涵盖的一些基础概念和操作。继续深入学习,你将能够编写更复杂的Perl脚本,解决各种实际问题。记得实践是学习编程的关键,多做练习,逐步提升你的Perl技能。
在这个"python教程学习笔记流程控制 python数据结构"中,我们将深入探讨Python中的流程控制和数据结构,这些都是编程基础的重要组成部分。 首先,流程控制是编程中的关键概念,它涉及到程序执行的顺序、条件判断和...
1. **基础语法**:Python的基础包括变量定义、数据类型(如整型、浮点型、字符串、列表、元组、字典和集合)、控制结构(如if-else、for、while循环)以及函数的使用。理解这些基本概念是学习Python的第一步。 2. *...
学习笔记可能会涵盖敏捷开发方法、版本控制(如Git)、项目管理工具(如JIRA)、持续集成/持续部署(CI/CD)等实践,这些都是提高团队协作和软件质量的重要工具和流程。 7. **其他主题**: 此外,笔记还可能包含...
本压缩包包含的“C语言学习笔记”是一份详尽的C语言学习资料,旨在帮助读者深入理解和掌握C语言的基本概念、语法结构以及实际应用技巧。 一、C语言基础 C语言的基础包括变量、数据类型、运算符、流程控制等。变量...
### F2812学习笔记知识点详述 #### 一、如何开始DSP的学习 - **基础知识了解**:首先,快速浏览整个书籍,了解DSP的基本概念和技术背景,掌握DSP的总体框架。 - **学习资料的选择**:选择合适的教材或参考资料非常...
这份“非常详细JavaSE学习笔记.rar”压缩包显然是一份全面的Java SE学习资源,包含了从基础知识到高级特性的全方位讲解。下面,我们将详细探讨这份笔记可能涵盖的关键知识点。 1. **Java起源与环境搭建**:笔记可能...
《Learning Hard C# 学习笔记》是一份深入浅出的C#编程教程,旨在帮助初学者快速掌握C#这门强大的编程语言。C#是由微软公司开发的一种面向对象的编程语言,广泛应用于Windows平台、游戏开发(尤其是Unity引擎)、...
**J2EE学习笔记概述** J2EE(Java 2 Platform, Enterprise Edition)是一个由Sun Microsystems(现已被Oracle收购)开发的平台,主要用于构建企业级的分布式应用系统。它提供了服务器端组件模型、服务和API,支持...
本文将深入探讨Eclipse插件开发的相关知识点,结合提供的"全书分为4篇共24章"的学习笔记和源码,帮助你更全面地理解和实践Eclipse插件开发。 第一篇:基础篇 在这一篇中,你将学习到Eclipse插件开发的基础知识,...
《良葛格JAVA 学习笔记》是由知名IT专家林信良,网名“良葛格”,在台湾大学电机工程学系的深厚学术背景基础上,结合其作为SUN教育训练中心讲师的丰富教学经验编写的。他的著作还包括《Spring 技术手册》,并且他...
这份"C++学习笔记"涵盖了C++的基础到高级概念,旨在帮助初学者和有一定经验的程序员深入理解并掌握C++。 在C++的学习过程中,以下几个关键知识点是不可或缺的: 1. **基础语法**:C++起源于C语言,因此它保留了...
### Python学习笔记知识点详解 #### 一、Python简介与特性 **标题与描述解析:** "Python学习笔记.pdf" 的标题直接指出了文档的主题——Python的学习资料,而描述的重复表明该文档的主要内容即为Python的学习笔记...