`
guochongcan
  • 浏览: 326746 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQL 循环执行及间隔多长时间后执行

 
阅读更多

xxx

 

 

---------------------------------------------------


create table T_CONTINUE_WORK_TEST
(
  TEST_YEAR  NUMBER(4),
  TEST_MONTH NUMBER(2)
);

select * from t_continue_work_test;

truncate table t_continue_work_test;


--倒循环
declare
  test_year number;
  test_month number;
begin
  for test_year in reverse 2010 .. 2016 loop
        for test_month in reverse 1 .. 12 loop
          insert into t_continue_work_test
              (test_year, test_month)
            values
              (test_year, test_month);
              commit;
        end loop;
  end loop;
end;
/

--正循环
declare
  test_year number;
  test_month number;
begin
  for test_year in 2010 .. 2013 loop
        for test_month in 1 .. 12 loop
          insert into t_continue_work_test
              (test_year, test_month)
            values
              (test_year, test_month);
              commit;
        end loop;
        DBMS_LOCK.SLEEP(10);--每10秒插一次
  end loop;
end;
/


---------------------------------------------------

 

 

xxx

 

--通过while 实现
declare
  test_year  int;
  test_month int;
begin
  test_year  := 2010;
  while test_year <= 2014 loop
    test_month := 01;
    while test_month <= 12 loop
      insert into t_continue_work_test
        (test_year, test_month)
      values
        (test_year, test_month);
      commit;
      test_month := test_month + 1;
    end loop;
    test_year := test_year + 1;
  end loop;

end;
/

 

 

xxx

 

--1、ORACLE中的GOTO用法
declare
  x number;
begin
  x := 9;
  <<repeat_loop>> --循环点
  x := x - 1;
  dbms_output.put_line(x);
  if x > 0 then
    goto repeat_loop; --当x的值小于9时,就goto到repeat_loop
  end if;
end;
/


--2、ORACLE中的FOR循环用法
declare
  x number; --声明变量
begin
  x := 1; --给初值
  for x in reverse 1 .. 10 loop
    --reverse由大到小
    dbms_output.put_line('内:x=' || x);
  end loop;
  dbms_output.put_line('end loop:x=' || x); --x=1
end;
/

--3、ORACLE中的WHILE循环用法
declare
  x number;
begin
  x := 0;
  while x < 9 loop
    x := x + 1;
    dbms_output.put_line('内:x=' || x);
  end loop;
  dbms_output.put_line('外:x=' || x);
end;
/


--4、ORACLE中的LOOP循环用法
declare
  x number;
begin
  x := 0;
  loop
    x := x + 1;
  
    exit when x > 9;
    dbms_output.put_line('内:x=' || x);
  end loop;
  dbms_output.put_line('外:x=' || x);
end;
/

 

xxx

 

 

分享到:
评论

相关推荐

    Sql。query。stress

    3. **循环执行**: 你可以设置查询执行的次数和间隔时间,以便长时间运行测试,检查系统的持久性和稳定性。 4. **性能指标监控**: SQL Query Stress不仅执行查询,还能收集如CPU使用率、内存消耗、I/O统计等性能数据...

    pl/sql相关学习文档

    - `INTERVAL`类型用于表示时间间隔。 5. **复合类型**:`RECORD`, `TABLE`, `VARRAY` - `RECORD`类型可以用来存储一组相关的字段。 - `TABLE`和`VARRAY`类型用于存储多个值。 #### 五、基本控制结构 PL/SQL...

    SQL Server 2005中的保留字

    - **WHILE**: 循环执行一段代码直到指定的条件不再满足。 - **CASE**: 执行多分支条件选择。 - **BREAK**: 终止循环并跳转到循环体外的下一条语句。 - **CONTINUE**: 跳过当前循环体内的剩余语句,继续执行下一次...

    sql server 中的sql总结

    - 使用 `SET NOCOUNT ON` 来控制执行命令后是否返回行计数信息。 #### 二、用户管理 - **添加登录用户** - 使用 `EXEC sp_addlogin` 添加登录用户。 ```sql EXEC sp_addlogin '[用户名]', '[密码]'; ``` - **...

    DM7SQL程序设计

    ### DM7 SQL程序设计知识点详解 #### 一、概述 **DM7 SQL程序设计**是针对达梦数据库DM7的一款高级编程工具,它提供了一种过程化的SQL语言——DMSQL,用于创建复杂的数据库应用程序。DMSQL允许开发者编写结构化的...

    SQL语句大全 集中了常用的操作

    用于等待特定的时间间隔或时间点。 以上涵盖了SQL语句大全中的一些核心操作,这些语句和概念是数据库管理和应用程序开发中不可或缺的基础工具。通过熟练掌握这些SQL语句,可以有效地管理数据,优化查询性能,并确保...

    SQL经典常用语句

    11. **WAITFOR**:延迟执行SQL语句,例如等待特定的时间间隔或时间点。 12. **SELECT**:最基础的SQL语句,用于从表中选择数据。在示例中,展示了各种条件操作符(=, &lt;, &gt;, LIKE, BETWEEN等)的用法。 这些是SQL的...

    批量 kill mysql 中运行时间长的sql

    批量处理这些长时间运行的SQL查询可以通过多种方式实现: 1. 可以利用`information_schema.processlist`表来获取需要终止的连接信息。例如,可以构造如下SQL语句: ```sql SELECT CONCAT('KILL ', id, ';') FROM ...

    PL-SQL用户指南与参考(译)

    PL/SQL提供了大量的内置函数,涵盖了数学运算、字符串处理、日期时间操作等多个方面,极大地方便了开发者。 #### 第三章:PL/SQL数据类型 ##### 一、预定义数据类型 **1、数字型** 包括整数、浮点数等多种数值...

    SQL Server与Oracle常用函数对比

    - SQL Server的`DATEADD()`和`DATEDIFF()`在Oracle中分别对应`ADD_MONTHS()`、`NUMTODSINTERVAL()`或`DATEDIFF()`(但Oracle的DATEDIFF不直接返回整数,而是相差的时间间隔)。 3. **数学和数值函数**: - 两系统...

    SQL存储过程--资料全

    SQL存储过程是数据库管理系统中的一种重要工具,它允许程序员或数据库管理员预编译一系列SQL语句,形成一个可重用的程序单元。在MySQL中,存储过程极大地提升了数据操作的效率和灵活性,使得复杂的业务逻辑可以更...

    PLSQL 用户指南与参考

    - PL/SQL提供了一组丰富的内置函数,涵盖了字符串处理、数学运算、日期时间处理等多个方面。 #### 第三章:PL/SQL数据类型 **一、预定义数据类型** 1. **数字型**: - `NUMBER`:用于表示数值,可以指定精度和...

    PLSQL用户指南与参考中文PDF版

    **十二、使用集合批量绑定减少循环开销**:通过一次性处理多个元素,可以显著提高程序的执行效率。 1. **批量绑定如何提高性能**:通过减少网络往返次数和数据库调用,可以极大地改善性能。 **十三、使用 FORALL ...

    PHP定时执行任务的3种方法详解

    - 使用`set_time_limit()`函数或修改`max_execution_time`配置,以允许脚本长时间运行。 - 使用`sleep()`函数控制脚本的执行间隔,避免资源过度消耗。 例如,以下代码片段展示了如何构建一个简单的定时执行PHP...

    数据库原理与应用第三章

    SQL-92定义了多种数据类型,如`CHAR(n)`(固定长度字符串)、`VARCHAR(n)`(可变长度字符串)、`INT`(整数)、`SMALLINT`(小整数)、`NUMERIC(p,d)`(定点数)、`REAL`(浮点数)、`DOUBLE PRECISION`(双精度...

    仿世纪佳缘婚介交友系统5.3 ASP+SQL

    仿世纪佳缘婚介交友系统5.3 ASP+SQL Nslove5使用手册 一、运行环境: 1、服务器要求:windows2000及更高系统版本,IIS5+以上! 2、组件要求:Jmail邮件组件、aspjpeg水印组件、上传组件(aspupload组件)、FSO...

    oracle的plsql基础,常用函数

    4. 转换函数:NUMTOYMINTERVAL和NUMTODSINTERVAL将数值转换为时间间隔。 5. 系统信息函数:USER获取当前用户,DBMS_METADATA用于获取对象的元数据信息。 6. 数学函数:SQRT用于计算平方根,EXP用于指数运算,LOG用于...

    基于多线程的串行通信技术及其应用.pdf

    【串行通信技术】串行通信是指数据以位(bit)为单位,按顺序一位一位地传输,每一位数据都需要占用一个固定的时间间隔。相比于并行通信,串行通信占用的物理通道较少,成本更低,适合长距离通信。在计算机与外部...

    vfp计算机二级考点-必考

    20. **循环和退出**:使用 `LOOP` 循环执行某段代码直到满足条件为止;使用 `EXIT` 退出循环。 21. **返回值**:使用 `RETURN .T.` 表示返回真值。 22. **变量的作用域**:局部变量 `LOCAL`、全局变量 `PUBLIC`、...

Global site tag (gtag.js) - Google Analytics