pl/sql declare loop if

-- 1.判断表是否存在,如果存在则drop表
-- 2.创建表
-- 3.插入1W条数据
-- 4.每1K条commit一次
declare
    v_table varchar2(222):=‘STUDENT‘;   --表名
    v_table_exists number:=0;           --如果大于0,则表存在
    v_sql_create varchar2(2222);        --create table sql
    v_number number:=500000;              --插入的数据
    v_id number:=0;                     --id字段
    v_age number:=100000;               --age字段
    v_i number:=0;                      --记录插入的条数
    v_start_time varchar2(22);          --执行命令开始时间
    v_end_time varchar2(22);            --执行命令结束时间
    v_exec_time varchar(22);

begin
    --判断表是否存在,如果存在最删除
    select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) into v_start_time from dual;
    select count(1) into v_table_exists from tab where tname=upper(‘student‘);
    if v_table_exists > 0
    then
        execute immediate ‘drop table ‘||v_table||‘ purge‘;
        dbms_output.put_line(‘drop table ‘||v_table||‘ sucessfuly‘);
    else
        dbms_output.put_line(‘table ‘||v_table|| ‘ is not exists‘);
    end if;
    --create table student
    v_sql_create:=‘create table ‘||v_table||‘ (id number,age number)‘;
    execute immediate v_sql_create;
    commit;
    -- insert data to student
    loop
        exit when v_number<=0;
        v_number:=v_number-1;
        insert into student values(v_id,v_age);
        v_id:=v_id+1;
        v_age:=v_age+1;
        v_i:=v_i+1;
        --commit / 10000 line data
        if mod(v_i,10000)=0
        then
            select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) into v_exec_time from dual;
            dbms_output.put_line(v_i||‘ ‘||v_exec_time);
            commit;
        end if;
    end loop;
    select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) into v_end_time from dual;
    dbms_output.put_line(‘execute sucess ‘||v_start_time||‘ -> ‘||v_end_time);
end;
/
时间: 2024-10-24 18:20:29

pl/sql declare loop if的相关文章

Oracle PL/SQL之LOOP循环控制语句

在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LOOP语句的基本语法结构如下: [<<label_name>>] LOOP statement... END LOOP [label_name] [语法说明] <<label_name>>:LOOP结构的标签,是可选项. LOOP:LOOP循环开始标志. stat

PL/SQL中LOOP循环控制语句

在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LOOP语句的基本语法结构如下: [<<label_name>>] LOOP statement... END LOOP [label_name] [语法说明] <<label_name>>:LOOP结构的标签,是可选项. LOOP:LOOP循环开始标志. stat

---oracle 数据库的设计,PL/SQL(loop,for,if,case,while)

1.数据库的设计(DataBase Design): 针对用户特定的需求,然后我们创建出来一个最实用而且性能高的数据库! 数据库设计的步骤: 01.需求分析 02.概念结构设计 03.逻辑结构设计 04.物理机构设计 05.数据库的实施 06.数据库的运行和维护 数据库的3大范式: 1.确保每列的原子性!每一列都是一个不可再分的数据! 2.确保每列都和主键相关! 3.确保每列都和主键有直接的关系,而不是间接依赖(传递依赖)! -----------------------------------

[转载]Oracle PL/SQL之LOOP循环控制语句

在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LOOP语句的基本语法结构如下: [<<label_name>>] LOOP statement... END LOOP [label_name] [语法说明] <<label_name>>:LOOP结构的标签,是可选项. LOOP:LOOP循环开始标志. stat

PL/SQL loop循环详解

在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LOOP语句的基本语法结构如下: 1 [<<label_name>>] 2 LOOP 3 statement... 4 END LOOP [label_name] 5 6 [语法说明] 7 <<label_name>>:LOOP结构的标签,是可选项. 8 LOOP:

PL/SQL 02 声明变量 declare

语法:identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr] identifier:用于指定变量或常量的名称.CONSTANT:用于指定常量.当定义常量时,必须指定它的初始值,并且其数值不能变.datatype:用于指定变量或常量的数据类型.NOT NULL:用于强制初始化变量(不能为NULL).当指定 NOT NULL 选项时,必须要为变量提供数值.:= 用于为变量和常量指定初始值.DEFAULT:用于为常量和变量指定初始值.

Oracle之PL/SQL编程_流程控制语句

选择语句 1. if...then 语句 语法: if < condition_expression > then plsql_sentence end if; condition_expression:表示一个条件表达式,其值为 true 时,程序会执行 if 下面的 PL/SQL 语句: 如果其值为 false,则程序会跳过if 下面的语句而 直接执行 end if 后边的语句. plsql_sentence:condition_expression 为 true 时,要执行的语句. 2.

PL/SQL 编程(二)游标、存储过程、函数

游标--数据的缓存区 游标:类似集合,可以让用户像操作数组一样操作查询出来的数据集,实质上,它提供了一种从集合性质的结果中提取单条记录的手段. 可以将游标形象的看成一个变动的光标,他实质上是一个指针,在一段Oracle存放数据查询结果集或者数据操作结果集的内存中,这个指针可以指向结果集任何一条记录. 游标分静态游标和REF游标两类,静态游标包含显式游标和隐式游标. 显式游标: 在使用之前必须有明确的游标声明和定义,这样的游标定义会关联数据查询语句,通常会返回一行或多行.打开游标后,用户可以利用游

(十)PL/SQL记录

PL/SQL记录就是可以容纳不同类型的数据项的数据结构.记录由不同字段,类似于数据库表的行.例如,要保留跟踪图书馆中的书籍.可能要跟踪有关每本书下面的属性类似:标题,作者,主题,图书ID.包含一个字段为每个这些项目记录允许进行处理书籍作为一个逻辑单元信息. PL/SQL可以处理记录的以下几种类型:   基于表的记录   基于游标的记录   用户自定义记录      附:  Select * from customers;+----+----------+-----+-----------+---