`
121059457
  • 浏览: 23266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

学习笔记:13编写控制结构

J# 
阅读更多




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学习笔记(干货) 中文PDF完整版.pdf

    这份"Python学习笔记"涵盖了从环境搭建到基础语法,再到数据类型和控制结构等关键知识点,旨在为初学者提供全面的学习指导。 首先,1.1章节介绍了Python的基础,包括Python的起源和历史。Python是由Guido van ...

    各种编程学习笔记:Python, HTML, CSS, Javascript, Git, Linux, PHP.zip

    学习Python时,你会接触到变量、数据类型、控制结构(如if-else语句和for循环)、函数、模块和面向对象编程。此外,Python广泛应用于数据分析、机器学习、网络编程和Web开发等领域。 2. HTML(超文本标记语言): ...

    林信良java学习笔记

    《林信良Java学习笔记》是一本深受程序员喜爱的Java学习资源,尤其因其繁体字版,对于中文读者来说,提供了更为亲切的阅读体验。这本书深入浅出地讲解了Java编程语言的基础知识和高级特性,旨在帮助初学者快速掌握...

    Go 学习笔记 高清

    - 第1章 基础:介绍Go语言的基本概念,包括变量、基本类型、类型转换、常量、字符串、运算符、指针、保留字、控制结构、自定义类型、初始化和内置函数。 - 第2章 函数:涵盖函数类型、多返回值、命名返回参数、变参...

    学习笔记:笔记

    3. 版本控制:作为一个名为“master”的目录,可能表明这份学习笔记使用了Git等版本控制系统来管理,这样可以追踪修改历史,便于协作和回溯。 4. 项目结构:在IT学习中,良好的项目结构至关重要。"StudyNotes-...

    韩顺平编写的java学习笔记(全)

    ### 韩顺平编写的Java学习笔记概览 #### Java平台分类与运行机制 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java 2 Platform, Enterprise ...

    java学习笔记markdown

    【Java学习笔记Markdown版】是针对Java初学者和进阶者的一份详尽教程,以Markdown格式编写,便于阅读和整理。Markdown是一种轻量级的标记语言,它允许用户使用易读易写的纯文本格式编写文档,然后转换成结构化的HTML...

    perl个人学习笔记

    Perl是一种强大的脚本编程语言,...以上就是Perl学习笔记中涵盖的一些基础概念和操作。继续深入学习,你将能够编写更复杂的Perl脚本,解决各种实际问题。记得实践是学习编程的关键,多做练习,逐步提升你的Perl技能。

    python教程学习笔记流程控制 python数据结构

    在这个"python教程学习笔记流程控制 python数据结构"中,我们将深入探讨Python中的流程控制和数据结构,这些都是编程基础的重要组成部分。 首先,流程控制是编程中的关键概念,它涉及到程序执行的顺序、条件判断和...

    学习笔记:一些学习笔记

    1. **基础语法**:Python的基础包括变量定义、数据类型(如整型、浮点型、字符串、列表、元组、字典和集合)、控制结构(如if-else、for、while循环)以及函数的使用。理解这些基本概念是学习Python的第一步。 2. *...

    学习笔记:我的学习笔记

    学习笔记可能会涵盖敏捷开发方法、版本控制(如Git)、项目管理工具(如JIRA)、持续集成/持续部署(CI/CD)等实践,这些都是提高团队协作和软件质量的重要工具和流程。 7. **其他主题**: 此外,笔记还可能包含...

    C语言学习笔记 C语言学习笔记

    本压缩包包含的“C语言学习笔记”是一份详尽的C语言学习资料,旨在帮助读者深入理解和掌握C语言的基本概念、语法结构以及实际应用技巧。 一、C语言基础 C语言的基础包括变量、数据类型、运算符、流程控制等。变量...

    非常详细javaSE学习笔记.rar

    这份“非常详细JavaSE学习笔记.rar”压缩包显然是一份全面的Java SE学习资源,包含了从基础知识到高级特性的全方位讲解。下面,我们将详细探讨这份笔记可能涵盖的关键知识点。 1. **Java起源与环境搭建**:笔记可能...

    Learning hard C# 学习笔记

    《Learning Hard C# 学习笔记》是一份深入浅出的C#编程教程,旨在帮助初学者快速掌握C#这门强大的编程语言。C#是由微软公司开发的一种面向对象的编程语言,广泛应用于Windows平台、游戏开发(尤其是Unity引擎)、...

    Eclipse插件开发学习笔记全篇+源码.rar

    本文将深入探讨Eclipse插件开发的相关知识点,结合提供的"全书分为4篇共24章"的学习笔记和源码,帮助你更全面地理解和实践Eclipse插件开发。 第一篇:基础篇 在这一篇中,你将学习到Eclipse插件开发的基础知识,...

    j2ee学习笔记-j2ee学习笔记

    **J2EE学习笔记概述** J2EE(Java 2 Platform, Enterprise Edition)是一个由Sun Microsystems(现已被Oracle收购)开发的平台,主要用于构建企业级的分布式应用系统。它提供了服务器端组件模型、服务和API,支持...

    良葛格JAVA 学习笔记

    《良葛格JAVA 学习笔记》是由知名IT专家林信良,网名“良葛格”,在台湾大学电机工程学系的深厚学术背景基础上,结合其作为SUN教育训练中心讲师的丰富教学经验编写的。他的著作还包括《Spring 技术手册》,并且他...

    C++ 学习笔记 整理

    这份"C++学习笔记"涵盖了C++的基础到高级概念,旨在帮助初学者和有一定经验的程序员深入理解并掌握C++。 在C++的学习过程中,以下几个关键知识点是不可或缺的: 1. **基础语法**:C++起源于C语言,因此它保留了...

Global site tag (gtag.js) - Google Analytics