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;
/
pl/sql declare loop if的更多相关文章
- Oracle PL/SQL之LOOP循环控制语句
在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...
- PL/SQL中LOOP循环控制语句
在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...
- [转载]Oracle PL/SQL之LOOP循环控制语句
在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...
- PL/SQL块loop..各种循环练习
--利用loop输出1到100的值并求和 ---loop exit end loop set serveroutput on; declare v_i ; v_sum ; begin loop )th ...
- pl/sql tutorial
http://plsql-tutorial.com/plsql-procedures.htm What is PL/SQL? PL/SQL stands for Procedural Language ...
- 全面对比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) ...
- 编写pl/sql时,报错
/* 写一个简单的PL/SQL */ declare a ; b ; c number; begin c:=(a+b)/(a-b); dbms_output.put_line(c); exceptio ...
- PL/SQL编程基础(四):程序控制(IF,CASE,FOR,LOOP,WHILE LOOP,EXIT,CONTINUE)
程序控制 程序结构有分支结构与循环结构: 分支结构语法:IF.CASE: 循环结构:FOR.WHILE LOOP:先执行再判断,至少执行一次: WHILE LOOP:先判断再执行,如果不满足条件,就不 ...
- PL/SQL 02 声明变量 declare
语法:identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr] identifier:用于指定变量或常量的名称.CONSTANT:用于 ...
随机推荐
- PLSQL语法
Procedural Language和SQL的结合体.通过增加变量.控制语句,使我们可以写些逻辑更加复杂的数据库操作 语句框架组成 declare – 可选 声明各种变量或游标的地方. begin ...
- cocos打包到ios与android上音频推荐
首先贴一张官方对于ios与android上音频格式的推荐: 这里只给出了推荐格式,一般我们在实际运用中会使用如下方式: 一.IOS与安卓各一套:音乐:都使用MP3 音效:ios用caf Andr ...
- gitlab 添加ssh秘钥
在创建新的ssh秘钥对之前,要先确认一下电脑中是否已经有了一对秘钥: Git Bash on Windows / GNU/Linux / macOS / PowerShell: cat ~/.ssh/ ...
- apt-get默认下载路径
备忘: Ubuntu中apt-get下载的安装包都在哪里呢? 在/var/cache/apt/archives里,里边的安装包可以取出来以备后用.
- R: 绘图 barplot
问题:barplot 18.5.16 怎么绘制 barplot,用两种方式:基础绘图 & ggplot2解决方案: 基础绘图 barplot(height, width = 1, space ...
- 39、count_rpkm_fpkm_TPM
参考:https://f1000research.com/articles/4-1521/v1 https://www.biostars.org/p/171766/ http://www.rna-se ...
- IntelliJ IDEA打可运行jar包时的错误
1.[ERROR] 'build.resources.resource.directory' 解决:需要在pom.xml的project->build->resources节点下,加入以 ...
- 《Head First Servlets & JSP》-3-1st servlet MVC demo
项目结构 用户首页 form.html <html> <body> <h1 align='center'>Beer Selection Page</h1> ...
- oracle-dmp文件导入导出过程命令
创建表空间 create tablespace coss datafile 'D:\soft\db\oracle\oradata\orcl\coss.dbf' size 1000m autoexten ...
- GridView内按钮Click获取记录主键值 在GridView控件中,每行记录内会放置一个铵钮,当用
在GridView控件中,每行记录内会放置一个铵钮,当用户点击这个铵钮时,获取当笔记录的主键值.可看演示(是一个gif动画,重新播放尝试刷新网页): 实现这个功能,你需要为GridView控件设置Da ...