做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法。
产生测试数据的SQL如下:
SQL> select rownum as id,
2 to_char(sysdate + rownum / 24 / 3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime,
3 trunc(dbms_random.value(0, 100)) as random_id,
4 dbms_random.string('x', 20) random_string
5 from dual
6 connect by level <= 10;
ID INC_DATETIME RANDOM_ID RANDOM_STRING
---------- ------------------- ---------- --------------------------------------------------------------------------------
1 2009-12-08 19:43:14 76 GWMU280MIVBKKOCZV620
2 2009-12-08 19:43:15 34 GNV88O6TDHD3TWC5GWI5
3 2009-12-08 19:43:16 77 LI6H4O5IAHQIMO4B0WMH
4 2009-12-08 19:43:17 99 LP7XP49I0YOJIYSJDQZO
5 2009-12-08 19:43:18 55 V3284X9RXW4UZI8BQMO3
6 2009-12-08 19:43:19 16 T0OA52UAOGHL1TT46H25
7 2009-12-08 19:43:20 61 UY6RUOF7HWTO86942FLP
8 2009-12-08 19:43:21 25 JYXO4OPEW8J1CKVCPDJR
9 2009-12-08 19:43:22 10 DONU6W9QVQM3KJ2UG8LO
10 2009-12-08 19:43:23 76 J8DJLVNOUIZDXE4UXUJG
10 rows selected
上面SQL是利用了Oracle数据库语法的几个实用小技巧实现的:
1、利用Oracle特有的“connect by”树形连接语法生成测试记录,“level <= 10”表示要生成10记录;
2、利用rownum虚拟列生成递增的整数数据;
3、利用sysdate函数加一些简单运算来生成日期数据,本例中是每条记录的时间加1秒;
4、利用dbms_random.value函数生成随机的数值型数据,本例中是生成0到100之间的随机整数;
5、利用dbms_random.string函数生成随机的字符型数据,本例中是生成长度为20的随机字符串,字符串中可以包括字符或数字。
ok,那要生成10万条测试记录表可以用如下SQL:
create table myTestTable as
select rownum as id,
to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime,
trunc(dbms_random.value(0, 100)) as random_id,
dbms_random.string('x', 20) random_string
from dual
connect by level <= 100000;
原文地址:http://blog.csdn.net/yzsind/archive/2009/12/08/4967133.aspx
分享到:
相关推荐
本文将深入探讨如何利用一条SQL语句在Oracle中快速生成10万条测试数据,这对于数据库管理员和开发人员来说是一项极为实用的技能。 ### 核心知识点:使用SQL生成大量测试数据 #### 1. **理解ROWNUM和CONNECT BY ...
在Oracle数据库中,通过一条SQL语句快速生成大量测试数据是一项非常实用的技能。本文将详细介绍如何利用Oracle中的特性来实现这一目标。 ### 核心知识点:使用一条SQL语句快速生成10万条测试数据 #### 1. 使用`...
数据库做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条 SQL快速生成大量的测试数据的方法。 产生测试数据的SQL如下...
#### 一、Oracle数据库生成测试数据的方法 Oracle是一种广泛使用的商业关系型数据库管理系统,它提供了强大的数据管理和处理能力。对于需要快速生成大量测试数据的场景,Oracle提供了一系列内置函数和特性,可以...
标题中的“java jsp sqlserver数据表转移到oracle实例 源代码”表明这是一个关于使用Java和JSP技术,将SQL Server数据库中的数据表迁移至Oracle数据库的实际操作案例。这个过程通常涉及数据迁移、数据转换以及可能的...
在.NET开发环境中,数据库...总的来说,这个.NET数据库生成测试数据工具类是一个实用的开发辅助工具,它提高了测试数据准备的效率,减少了人工错误,同时支持多种数据库,使得开发人员能够在各种环境中快速进行测试。
用户可以运行单条或批量 SQL 查询,查看结果集,甚至可以直接在编辑器中进行数据的增删改查操作。 **3. 数据浏览** 通过 SQL Developer,用户可以浏览数据库中的表、视图、索引、存储过程等各种对象。它可以显示...
- **执行计划**:在Oracle中,每一条SQL语句都会有一个执行计划,它定义了数据如何被检索和处理。通过`EXPLAIN PLAN`或`DBMS_XPLAN`包可以查看执行计划,帮助分析SQL性能瓶颈。 - **成本基础优化器**:Oracle使用...
- 在实际开发中较少使用,主要用于生成测试数据或某些特殊需求场景。 - 交叉连接通常不建议使用,因为它可能会导致性能问题。 **例子:** 假设TableA中有四条记录,TableB中也有四条记录,使用CROSS JOIN后,结果...
4. **插入操作**:使用`INSERT INTO`语句向表`t_sys_users`中插入一条新记录。这里通过字符串连接操作(`||`)动态生成不同的字段值,以确保每条记录具有唯一性。 5. **序列使用**:利用Oracle中的序列对象`seq_t_...
例如,如果Excel中的每一行对应数据库中的一条记录,那么可能会生成一系列INSERT语句来插入新数据。 为了将这些SQL语句执行到数据库,工具需要使用JDBC(Java Database Connectivity),这是Java平台的标准接口,...
Oracle 数据库中的SQL是当今市场上功能最强大的SQL实现之一,而本书全面展示了这一工具的威力。如何才能让更多人有效地学习和掌握SQL呢?Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习...
在实际工作中,Java版本的Oracle SQL Plus适用于数据库开发、性能测试、数据迁移、故障排查等多个场景。它不仅提供了丰富的功能,还通过其简洁的命令行界面提高了工作效率。不论你是数据库新手还是经验丰富的专家,...
4. **生成INSERT语句**:工具会遍历所选表的所有记录,为每一条数据生成一个INSERT INTO语句,结构通常为 `INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);` 5. **保存与输出**:生成的INSERT语句会...
对于一个特定用户的表,我们可以使用以下SQL查询来获取所有表名,并自动生成删除语句: ```sql SELECT 'DROP TABLE ' || table_name || ';' || CHR(13) || CHR(10) FROM user_tables; ``` 这条命令会列出当前用户...
- 这条命令表示 Oracle 自动在当前时间立即进行第一次快速刷新,之后每隔 30 秒快速刷新一次。 #### 四、创建触发器 由于创建快照后,在目标数据库上会自动生成一个名为 `sn_test` 的表,该表会根据前面设置的...
综上所述,这个项目的关键技术包括C#编程、分层架构设计、动态SQL生成以及测试数据管理。通过这样的设计,我们可以创建一个灵活、可扩展且易于测试的数据库访问组件,它能适应不同类型的数据库,并能在不干扰生产...
过程内部首先打开SQL游标,然后解析并执行一条ALTER TRIGGER语句,最后关闭游标。这个过程可以扩展到编译数据库中的其他对象,如函数或存储过程。 ### 5. 使用DBMS_JOB包进行作业调度 虽然代码中这部分被注释掉了...