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;

相关文章
|
2月前
|
安全 数据管理 测试技术
告别蛮力:让测试数据生成变得智能而高效
告别蛮力:让测试数据生成变得智能而高效
393 120
|
3月前
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
131 0
|
6月前
|
人工智能 缓存 自然语言处理
别再手搓测试数据了!AE测试数据智造系统揭秘
本文介绍如何通过构建基于大语言模型的测试数据智造Agent,解决AliExpress跨境电商测试中数据构造复杂、低效的问题,推动测试效率提升与智能化转型。
别再手搓测试数据了!AE测试数据智造系统揭秘
|
8月前
|
Java 测试技术 数据库
使用benchmarksql测试数据库处理能力
传统的OLTP业务,应用系统使用 java 开发,并且不建议使用存储过程,使用 benchmarksql 压测数据库最公平,既可以测试数据库性能,也可以测试JDBC驱动
571 88
|
6月前
|
安全 Java 数据库
Jasypt加密数据库配置信息
本文介绍了使用 Jasypt 对配置文件中的公网数据库认证信息进行加密的方法,以提升系统安全性。主要内容包括:1. 背景介绍;2. 前期准备,如依赖导入及版本选择;3. 生成密钥并实现加解密测试;4. 在配置文件中应用加密后的密码,并通过测试接口验证解密结果。确保密码安全的同时,保障系统的正常运行。
419 3
Jasypt加密数据库配置信息
|
11月前
|
分布式计算 Shell MaxCompute
odps测试表及大量数据构建测试
odps测试表及大量数据构建测试
|
11月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
12月前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
177 11
|
12月前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
213 10
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
438 6

热门文章

最新文章