`

oracle批量插入随机数的方法

 
阅读更多

 

创建表dimension_tab
DROP TABLE dimension_tab;
CREATE TABLE dimension_tab (
  fact_1_id   NUMBER NOT NULL,
  fact_2_id   NUMBER NOT NULL,
  fact_3_id   NUMBER NOT NULL,
  fact_4_id   NUMBER NOT NULL,
  sales_value NUMBER(10,2) NOT NULL
);

 

 

 

 

INSERT INTO dimension_tab

SELECT TRUNC(DBMS_RANDOM.value(1,  3)) AS fact_1_id,

       TRUNC(DBMS_RANDOM.value(1, 6)) AS fact_2_id,

       TRUNC(DBMS_RANDOM.value(1, 11)) AS fact_3_id,

       TRUNC(DBMS_RANDOM.value( 1, 11)) AS fact_4_id

       ,ROUND(DBMS_RANDOM.value(1, 100), 2) AS sales_value

FROM   dual

CONNECT BY level <= 1000;

COMMIT;

 

【模型如下】

 

INSERT INTO dimension_tab
SELECT TRUNC(DBMS_RANDOM.value(low => 1, high => 3)) AS fact_1_id,
       TRUNC(DBMS_RANDOM.value(low => 1, high => 6)) AS fact_2_id,
       TRUNC(DBMS_RANDOM.value(low => 1, high => 11)) AS fact_3_id,
       TRUNC(DBMS_RANDOM.value(low => 1, high => 11)) AS fact_4_id,
       ROUND(DBMS_RANDOM.value(low => 1, high => 100), 2) AS sales_value
FROM   dual
CONNECT BY level <= 1000;
COMMIT;

参考:http://www.oracle-base.com/articles/misc/RollupCubeGroupingFunctionsAndGroupingSets.php

 

 

分享到:
评论

相关推荐

    C#随机数生成并排序然后插入数据库

    在这个过程中,注意批量插入可以显著提高性能。你可以一次处理几千条记录,而不是每次只插入一条。这将减少网络往返次数,从而优化性能。 总的来说,这个项目涉及C#中的随机数生成、大规模数据排序和数据库操作,...

    Oracle中如何用一条SQL快速生成10万条测试数据

    `dbms_random`是Oracle提供的包,包含了一系列随机数生成函数,`value`函数可以生成指定范围内的随机数。通过`trunc`函数,我们可以将其转换为整数。 #### 4. **随机字符串生成** `dbms_random.string('x',20)`...

    Oracle造数工具

    工具会根据这些信息生成SQL INSERT语句,然后批量执行这些语句将数据插入到数据库中。 总的来说,Oracle造数工具是一个实用的开发和测试辅助工具,它利用Python和cx_Oracle库简化了在Oracle数据库中生成大量测试...

    Oracle创造测试数据

    2. **使用DBMS_RANDOm包**:Oracle提供了一系列随机数生成函数,如DBMS_RANDOM.STRING和DBMS_RANDOM.VALUE,可以用来创建随机的数据。 3. **PL/SQL脚本**:编写PL/SQL过程,根据业务逻辑生成复杂的数据结构。 4. **...

    [数据生成工具]关于datafactory的介绍——即如何快速生成大批量数据[汇编].pdf

    完成所有规则设定后,点击Run按钮,DataFactory将按照设定的规则批量插入数据。然而,试用版的限制是每次只能插入100条数据,这对于需要百万级数据的大规模测试来说显然是不够的。为了解决这个问题,你可以编写一个...

    .Net数据库生成测试数据工具类

    5. **批量插入**:提高效率的一个关键点是批量插入数据,而非逐条插入。工具类应该支持设置批量操作的大小,然后将多条SQL语句合并为一个批次执行。 6. **日志记录**:为了便于问题排查,工具类应有记录执行过程和...

    Oracle如何实现从特定组合中随机读取值

    或者,如果你需要将这些随机值插入到一个已有的表中,可以将`CASE`表达式放在`INSERT INTO`语句中,配合一个循环来批量插入数据。 如在描述中所示,创建一个名为`TEST`的表: ```sql CREATE TABLE test (loc ...

    SQL数据生成器

    6. **批量插入**:生成的大量数据通常需要一次性插入到数据库中,这涉及SQL的批量插入语句或事务处理,以提高效率。 7. **性能优化**:在生成大量数据时,考虑数据库性能是很重要的。生成器应能优化插入速度,避免...

    架构脑图.pdf

    - **使用事务执行批处理**:通过事务管理批量操作。 - **MVC分层开发**:Model-View-Controller,一种常见的软件架构模式。 - **使用properties文件抽取连接参数**:将数据库连接参数存储在.properties文件中。 - **...

    C#编程经验技巧宝典

    43 &lt;br&gt;0061 树的实现 44 &lt;br&gt;3.2 排序 48 &lt;br&gt;0062 如何实现选择排序算法 48 &lt;br&gt;0063 如何实现冒泡排序算法 49 &lt;br&gt;0064 如何实现快速排序算法 50 &lt;br&gt;0065 如何实现插入排序算法 ...

Global site tag (gtag.js) - Google Analytics