DM8数据库批量创建表,插入数据,更改表信息,删除测试

简介: 在测试产品的功能和性能的时候需要大量数据表,我们可以通过**游标**和**存储过程**批量创建测试表,插入测试数据,更改测试表,删除测试表。

DM8数据库批量创建表,插入数据,更改表信息,删除测试表


在测试产品的功能和性能的时候需要大量数据表,我们可以通过游标存储过程批量创建测试表,插入测试数据,更改测试表,删除测试表。


前言

在测试产品的功能和性能的时候需要大量数据表,我们可以通过游标存储过程批量创建测试表,插入测试数据,更改测试表,删除测试表。

一、批量创建表

通过存储过程批量创建表
批量创建100张表

方法一

--批量创建100张表
DECLARE
i int:=1;
BEGIN
for num in i..100 loop--创建100张表
execute immediate'CREATE TABLE tab_'||i||'( num int primary key ,name varchar(30))';
i:=i+1;
end loop;
end;

方法二

--批量创建100张表
DECLARE
  t_sql varchar2(3000);
  t_i number(22);
  t_count number(22);
BEGIN
t_count:=100;--输入你想创建表的个数
for i in 1..t_count
loop
t_sql:='CREATE TABLE tab_'||i||'( num int primary key ,name varchar(30))';
execute immediate t_sql;
end loop;
end;

方法二是一个模板,几乎万能的,只需要再更改一下sql语句。


二、批量插入数据

通过存储过程插入数据

在指定的表中批量插入数据

BEGIN
for T in 1..100
loop
insert into
SYSDBA.tab_1 values(
T,
repeatstr('pby',3)--批量插入100条,重复3遍的pby
);
if T MOD 100 =0 then
commit;
end if;
end loop;
commit;
end;

方法1:批量创建表并且批量插入数据

declare 
  v_sql varchar(3000);
  v_sql_2 varchar(3000);
  v_i number(22);
  v_count number(22);
begin
  v_count:=100;--批量创建100张表
  for i in 1..v_count
   loop
   
  v_sql:='CREATE TABLE tab_'||i||'( num int ,name varchar(30))';
   v_sql_2:='insert into tab_'||i||' values(1,2)';--批量插入数据
   
    execute immediate v_sql;
    execute immediate v_sql_2;
  end loop;
end;

方法2:批量创建表并且批量插入数据

DECLARE
i int:=1;
BEGIN
for a in 1..100 loop--批量创建100张表
execute immediate'CREATE TABLE tab_'||i||'( num int ,name varchar(30))';
execute immediate'insert into tab_'||i||' values(1,2)';
i:=i+1;
end loop;
commit;
end;

三、批量更改表信息

通过游标更改表信息

批量给表添加列信息

declare 
v_sql varchar2(3000);
CURSOR CUR_TAB IS
  SELECT TABLE_NAME from USER_TABLES where TABLE_NAME like 'tab_%';--所有前缀为tab_的表
BEGIN
for GET_TAB in CUR_TAB
  loop
v_sql:='alter table ' || GET_TAB.TABLE_NAME ||
' add age varchar(30)';
     execute immediate v_sql;
   end loop;
end;

四、批量删除测试表

通过游标删除测试表

删除创建的测试表

declare --功能删除所有测试表
v_sql varchar2(3000);
CURSOR CUR_TAB IS
  SELECT TABLE_NAME from USER_TABLES where TABLE_NAME like 'TAB_%';
BEGIN
for GET_TAB in CUR_TAB
  loop
v_sql:='drop table ' || GET_TAB.TABLE_NAME ;
     execute immediate v_sql;
   end loop;
end;

相关文章
|
16天前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
18天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
58 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
15天前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
18天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
192 2
|
23天前
|
人工智能 Cloud Native 容灾
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
云数据库“再进化”,OB Cloud如何打造云时代的数据底座?
|
1月前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
86 3
|
1月前
|
存储 测试技术 数据库
数据驱动测试和关键词驱动测试的区别
数据驱动测试 数据驱动测试或 DDT 也被称为参数化测试。
|
24天前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
8天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
23 1
|
10天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
25 4