当前位置:Gxlcms > 数据库问题 > pl/sql declare loop if

pl/sql declare loop if

时间:2021-07-01 10:21:17 帮助过:14人阅读

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

标签:表名   weight   har   where   执行   dia   开始时间   media   exe   

人气教程排行