Oracle:FOR循环语句练习

--打印输出从1到10的正整数
DECLARE
  v_i NUMBER(10) := 0;
BEGIN
  LOOP
    v_i := v_i + 1;
    DBMS_OUTPUT.put_line(v_i);
  EXIT WHEN v_i=10; --或者v_i>9;
  END LOOP;
END;

--打印输出从1到10之间的偶数
DECLARE
  v_i NUMBER(10) := 0;
BEGIN
  LOOP
    v_i := v_i + 1;
    IF v_i MOD 2 = 0 THEN
      DBMS_OUTPUT.put_line(v_i);
    END IF;
  EXIT WHEN v_i=10;
  END LOOP;
END;

--打印输出1到100之间的正整数之和。
--第一种方法
DECLARE
  v_i NUMBER(10) := 0;
  v_sum NUMBER(10) :=0;
BEGIN
  LOOP
    v_i := v_i + 1;
    v_sum := v_sum + v_i;
  EXIT WHEN v_i=100;
  END LOOP;
    DBMS_OUTPUT.put_line(v_sum);
END;
--第二种方法
DECLARE
  v_sum NUMBER(10) := 0;
BEGIN
  FOR v_i IN 1..100 LOOP
    v_sum := v_sum + v_i ;
  END LOOP;
    DBMS_OUTPUT.put_line(v_sum);
END;

--打印输出从1到10的正整数
--第一种方法
DECLARE
  v_i NUMBER(10) := 0;
BEGIN
  FOR v_i IN 1..10 LOOP
    DBMS_OUTPUT.put_line(v_i);
  END LOOP;
END;
--第二种方法
DECLARE
  v_i NUMBER(10) := 0;
BEGIN
  FOR v_i IN REVERSE 1..10 LOOP --倒序
    DBMS_OUTPUT.put_line(v_i);
  END LOOP;
END;

时间: 2024-10-24 07:33:33

Oracle:FOR循环语句练习的相关文章

oracle学习--循环语句

oracle学习--循环语句  loop循环: create or replace procedure pro_test_loop is i number; begin i:=0; loop i:=i+1; dbms_output.put_line(i); if i>5 then exit; end if; end loop; end pro_test_loop; while循环: create or replace procedure pro_test_while is i number; b

Oracle 动态SQL语句

Oracle 动态SQL语句 (2012-06-18 16:36:12) 转载▼ 标签: oracle it   EXECUTE IMMEDIATE代替了以前Oracle8i中DBMS_SQLpackage包. 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTEIMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTEIMMEDIATE,因为它获的收益在包

Oracle游标-循环查询表中数据(表名),并执行

Oralce 表中存有一个字段,该字段存储表名,要把该表中的所有表名查询出来(即表名结果集),且执行结果集from 表名结果集: declare v_ccount varchar2(100); --定义一个游标变量 cursor c_job is --查询该表中的所有表名 select tablename from tbname; c_row c_job%rowtype; begin --循环待处理数据,即以上查出的结果集 for c_row in c_job loop ---执行语句 from

Oracle的update语句优化研究

最近研究sql优化,以下文章转自互联网: 1.     语法 单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 如:update t_join_situation set join_state='1'whereyear='2011' 更新年度为“2011”的数据的join_state字段为“1”.如果更新的字段加了索引,更新时会重建索引,更新效率会慢. 多表关联,并把一个表的字段值更新到另一个表中的字段去: update 表a set a.字段1 = (sele

ORACLE游标循环【转】

ORACLE游标循环有几种用法,下面分别介绍一下. 首先定义游标和变量 CURSOR C1 IS SELECT  eNAME,ejob FROM emp WHERE deptno=10; v_NAME VARCHAR2(10); v_job VARCHAR2(10); 第一种:使用loop 循环 open c1; loop fetch c1 into v_name,v_job ; exit when c1%notfound; …… end loop colse c1; 这里需要注意,exit w

【转】Oracle 执行动态语句

1.静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:其一为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大多数的编译情况属于这种类型:另外一种是后期联编(late binding),即SQL语句只有在运行阶段才能建立,例如当查询条件为用户输入时,那么Oracle的SQL引擎就无法在编译期对该程序语句进行确定,只能在用户输入一定的查询条件后才能提交给SQL引擎进行处理.通常,静态SQL采用前一种编译方式,而动态SQL采用后一种编译方式.

[转]Oracle的update语句优化研究

原文地址:http://blog.csdn.net/u011721927/article/details/39228001 一.         update语句的语法与原理 1.     语法 单表:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 如:update t_join_situation set join_state='1'whereyear='2011' 更新年度为"2011"的数据的join_state字段为"1".如果

python基础之条件循环语句

前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python interprets non-zero values as True. None and 0 are interpreted as False. Python 判断非0的值为 True, 而None和0被认为是 False.注意这里的True和False首字母大写,Py

循环语句注意事项

三种循环语句的区别? * do...while循环至少执行一次循环体. * for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句. for循环和while循环的区别: *如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环. 不知道用谁就用for循环.因为变量及早的从内存中消失,可以提高内存的使用效率. 需求:在控制台输出所有的"水仙花数"和个数 * 所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身. * 举例:153就是

js中的循环语句

js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) {    //statements;} var a=1,b=0; while(a<=1000){ if(a%2==0){ if(b%20==0) { document.write("<br>第"+parseInt(b/20+1)+"行偶数"); } document.write(a+"&nbsp"