-- 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;
/

pl/sql declare loop if的更多相关文章

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

    在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...

  2. PL/SQL中LOOP循环控制语句

    在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...

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

    在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...

  4. PL/SQL块loop..各种循环练习

    --利用loop输出1到100的值并求和 ---loop exit end loop set serveroutput on; declare v_i ; v_sum ; begin loop )th ...

  5. pl/sql tutorial

    http://plsql-tutorial.com/plsql-procedures.htm What is PL/SQL? PL/SQL stands for Procedural Language ...

  6. 全面对比T-SQL与PL/SQL

    1)数据类型 TSQL PL/SQL numeric(p,s) numeric(p,s) or NUMBER(p,s) decimal(p,s) decimal(p,s) or NUMBER(p,s) ...

  7. 编写pl/sql时,报错

    /* 写一个简单的PL/SQL */ declare a ; b ; c number; begin c:=(a+b)/(a-b); dbms_output.put_line(c); exceptio ...

  8. PL/SQL编程基础(四):程序控制(IF,CASE,FOR,LOOP,WHILE LOOP,EXIT,CONTINUE)

    程序控制 程序结构有分支结构与循环结构: 分支结构语法:IF.CASE: 循环结构:FOR.WHILE LOOP:先执行再判断,至少执行一次: WHILE LOOP:先判断再执行,如果不满足条件,就不 ...

  9. PL/SQL 02 声明变量 declare

    语法:identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr] identifier:用于指定变量或常量的名称.CONSTANT:用于 ...

随机推荐

  1. 使用Java创建JSON数据

    --------------siwuxie095                             工程名:TestCreateJSON 包名:com.siwuxie095.json 类名:Cr ...

  2. c# 类的初步认识

    这里我们把类分为三种: String类(字符串类):Math类(数学类):DateTime类(时间日期类). 在使用类时注意  在输入的过程中代码前面会出现一些符号(紫色立方体代表方法,函数和黑色扳手 ...

  3. 使用批处理替换windows系统中的hosts文件

    chcp 936 >nul@echo offmode con lines=30 cols=60%1 mshta vbscript:CreateObject("Shell.Applica ...

  4. Blender 基础 骨架 01

    Blender 基础 骨架 01 我使用的Blender版本:Blender V 2.77 前言 本讲介绍: 骨架的基本使用方式. 骨架是角色动画里面最常使用的元素,它可以准确控制一个模型的变形,尤其 ...

  5. 1020C Elections

    传送门 题目大意 现在有 n个人,m个党派,第i个人开始想把票投给党派pi,而如果想让他改变他的想法需要花费ci元.你现在是党派1,问你最少花多少钱使得你的党派得票数大于其它任意党派. 分析 我们枚举 ...

  6. Excel打开图片

    =HYPERLINK("D:\固定资产图片\"&C2&".jpg",C2)

  7. scala的map的操作

    1:map和模式匹配的结合 settings.foreach{case (k,v) => set(k,v)} 2:map转成array settings.entrySet().asScala.m ...

  8. 浅谈android代码保护技术_ 加固

    浅谈android代码保护技术_加固 导语 我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk,结果被人反编译了,那心情真心不舒服.虽然我们混淆,做到native层,但 ...

  9. svn冲突问题详解 SVN版本冲突解决详解

    svn冲突问题详解 SVN版本冲突解决详解 (摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html) 解决版本冲突的命令.在冲突解决之后,需要使用svn ...

  10. 手把手教Android商业项目-即时通讯-i美聊

    [课程概况] 手把手教你从无到有的完整实现一个Android商业项目,是目前整个市场上所没有的课程,废话不多说,请往下看. [项目概况] 项目名称:i美聊 所属领域:移动社交 即时通讯   代码行数: ...