**********====mysql********************
/*
利用mysql儲存過程批量建立mysql的表:
test_1
test_2
test_...
*/-- 如果儲存過程已存在,先刪除
drop procedure if exists `create_tables`;
-- 建立儲存過程
delimiter $$
create procedure `createtables`()
begin
declare `@i` int(11);
declare `@createsql` varchar(2560);
declare `@createindexsql1` varchar(2560);
declare `@createindexsql2` varchar(2560);
declare `@createindexsql3` varchar(2560);
set `@i`=1;
while `@i`<=4 do
-- `m_id` bigint auto_increment primary key not null,
-- createtable
set @createsql = concat('create table if not exists test_',`@i`,'(
id int(11) not null comment \'使用者id\',
name varchar(255) comment \'使用者名稱\',
info varchar(255) comment \'資訊\',
cnt int(11) default 0 comment \'計數\',
primary key (id)
) engine=innodb default charset=utf8 collate=utf8_bin');
prepare stmt from @createsql;
execute stmt;
set `@i`= `@i`+1;
end while;
end$$
delimiter;
-- 呼叫儲存過程建立表
call createtables();
/* mysql批量插入資料,舉例 */
-- 如果儲存過程已存在,先刪除
drop procedure test;
delimiter $$
create procedure `test`()
begin
declare i int default 1;
while (i <= 10) do
insert into `testdb`.`table01`(`id`,`name`) values (i,'testaaaa');
set i = i + 1;
end while;
end$$
delimiter ;
-- 呼叫儲存過程
call test();
/* mysql批量插入資料,舉例 */
-- 如果儲存過程已存在,先刪除
drop procedure test;
delimiter $$
create procedure test()
begin
declare i int default 1;
while (i<=10) do
insert into test03.test_2(id,name,info) values(i,'aaa','bbb');
set i=i+1;
end while;
commit;
end $$
delimiter;
-- 呼叫儲存過程
call test();
**********====oracle********************=
oracle批量插入資料
# sys使用者登入,grant execute on dbms_***x to *** 來賦下許可權才可以
# grant execute on dbms_output to user01
# grant execute on dbms_lock to user01
//舉例1
begin
for i in 1 .. 2000
loop
insert into "user01"."table01" ("rynbid", "col02", "col03", "col04") values (i, 'aaa', 'bbb', 'ccc');
end loop;
commit;
end;
///舉例2
begin
for i in 1 .. 2000
loop
insert into "user01"."table01" ("rynbid", "col02", "col03", "col04") values (i, 'aaa', 'bbb', 'ccc');
if mod(i,50) = 0 then
commit;
dbms_output.put_line('to commit, i = '||i||'');
dbms_lock.sleep(1);
end if;
end loop;
commit;
end;
/#oracle中批量刪除多表
select 'drop table ' || table_name || ';' from user_tab_comments where table_name like '%testjob%';
MYSQL批量建表儲存過程
分表比較多的情況,如何批量建立,可通過儲存過程實現 建立乙個儲存過程 紅色表結構,藍色為表名及表數量 delimiter create procedure sp create tab begin set str id int 11 not null auto increment comment 自增...
mysql儲存過程批量建表
asif 用mysql的儲存過程建立100張表 mysql delimiter create procedure createtables begin declareiint declaretable namevarchar 20 declaretable prevarchar 20 declare...
星環TDH資料庫批量生成表和儲存過程
環境準備 安裝python環境 解壓 然後設定環境變數。把etl資料夾放到本地 sheet名為 載入策略 是對各個演算法模板的說明,其中etl策略,是對演算法模板的命名,例如 sheet名為 表級 是需要對所建的表進行相應的表級維護,包括 系統 資料庫型別,目標層次,依賴層次,依賴表名,載入策略,目...