oracle PLSQL程序造数据笔记

1.造假数据:

 1 declare
 2   type t_website_id is table of number(10);
 3   type t_website_name is table of varchar2(20);
 4   type t_area_id_tb is table of varchar2(5);
 5   type t_area_name_tb is table of varchar2(16);
 6   website_id  t_website_id :=t_website_id(1001,1002,1003,1004,1005,1006,1007,1008,1009,1010);
 7   website_name  t_website_name :=t_website_name(‘LOFT‘,‘京东‘,‘网易‘,‘知乎‘,‘搜狐‘,‘新浪‘,‘淘宝‘,‘腾讯‘,‘百度‘,‘人人‘);
 8   area_id_tb        t_area_id_tb := t_area_id_tb(‘55‘,‘551‘,‘553‘,‘559‘,‘556‘,‘562‘,‘564‘,‘554‘,‘561‘,‘557‘,‘5581‘);
 9   area_name_tb  t_area_name_tb := t_area_name_tb(‘安徽‘,‘合肥‘,‘芜湖‘,‘黄山‘,‘安庆‘,‘铜陵‘,‘六安‘,‘淮南‘,‘淮北‘,‘宿州‘,‘亳州‘);
10
11 begin
12   delete from TEST_WEBSITE_AREA_H;
13   for i in 0..23 loop
14      for j in area_id_tb.first .. area_id_tb.last loop
15         for k in website_id.FIRST .. website_id.LAST loop
16             insert into TEST_WEBSITE_AREA_H
17             (
18               time_id,
19               area_id,
20               area_name,
21               website_id,
22               website_name,
23               fst_screen_duration,
24               total_flow,
25               click_traffic
26             )
27             values(
28                to_char(sysdate,‘yyyyMMdd‘)||lpad(i,2,‘0‘)||‘00‘,
29                area_id_tb(j),
30                area_name_tb(j),
31                website_id(k),
32                website_name(k),
33                trunc(dbms_random.value(100, 800)),
34                round(dbms_random.value(1024, 9999999),2),
35                trunc(dbms_random.value(5000000,99999999))
36             );
37         end loop;
38      end loop;
39   end loop;
40 end;

2.随机取数据:

1 SELECT * FROM (
2     SELECT ename, job
3         FROM emp
4      ORDER BY DBMS_RANDOM.VALUE()
5   ) WHERE ROWNUM <= 5;

3.使用connect by 造数据:

 1 create table t_test_random as
 2 select level L1,
 3  substr(abs(dbms_random.random), 2, 8) L2,
 4  trunc(dbms_random.value(1, 101)) L3,
 5  (2 * trunc(dbms_random.value(1, 50)) - 1) L4,
 6  dbms_random.string(‘a‘, 10) L5,
 7  dbms_random.string(‘x‘, 10) L6,
 8  to_date(trunc(dbms_random.value(to_number(to_char(to_date(‘2012-10-1‘,
 9  ‘yyyy-mm-dd‘),
10  ‘j‘)),
11  to_number(to_char(to_date(‘2012-10-8‘,
12  ‘yyyy-mm-dd‘),
13  ‘j‘)))),
14  ‘j‘) +
15  dbms_random.value(9,18)/24 L7,
16  sysdate - dbms_random.value(0,30)/24/60 L8,
17  trunc(sysdate) - trunc(dbms_random.value(1,11)) L9
18  from dual
19  where level >= 100
20 connect by level <= 1000000;
时间: 2024-10-13 20:54:07

oracle PLSQL程序造数据笔记的相关文章

为数据挖掘小组写的一个用于造数据的小程序

最近有个数据挖掘的项目,要求在文本里面写入随机字母并且要1000W个 于是就写了个程序用来造数据并记录一下 程序写的时候遇到的问题 1 未考虑内存溢出的情况,大批量的把数据写入导致内存溢出 以后需要谨慎对待 目前完整版 package test; import java.io.File; import java.io.FileWriter; import java.io.IOException; import org.apache.commons.io.FileUtils; import org

Accelerated C++学习笔记5—&lt;组织程序和数据&gt;

第4章  组织程序和数据 从前面的学习中,我们可以发现程序并不是我们所想的那么简短,他们都有一个共同的特性,那就是 1)都能解决某些特定类型的问题 2)与其他的大多数工具都互相独立 3)都具有一个自己的名称 C++中提供两种基本的方法来让我们组织大型的程序,函数(子程序)和数据结构. 1.组织计算 1)计算总成绩 子函数grade <span style="font-family:KaiTi_GB2312;">//根据学生的期中考试.期末考试.家庭作业成绩来计算总成绩 do

Oracle之PL/SQL学习笔记

自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家批评指正. PL/SQL定义:PL/SQL是由Oracle开发,专门用于Oracle的程序设计语言. PL---Procedural Language. SQL—Structure QueryLanguage.PL/SQL包括过程化语句和SQL语句     PL/SQL的单位:块. 一个块中可以嵌套

Oracle RAC环境实时数据迁移

系统要求及安装前的说明 Oracle GoldenGate可以在Oracle不同版本间移动数据,也可以在Oracle和其它类型数据库之间移动数据.Oracle GoldenGate支持数据的过滤.映射和转换.Oracle还能在相似的Oracle数据库之间复制DDL操作.注意下面一句:当DDL支持被激活的时候,Oracle GoldenGate不支持数据的过滤.映射和转换. 支持的Oracle数据库版本,从9.2开始支持DML和DDL.支持几乎所有的主流操作系统,具体的可以从MOS(My Orac

作为一个新手的Oracle(DBA)学习笔记【转】

一.Oracle的使用 1).启动 *DQL:数据查询语言 *DML:数据操作语言 *DDL:数据定义语言 DCL:数据控制语言 TPL:事务处理语言 CCL:指针控制语言 1.登录 Win+R—cmd—>sqlplus “/as sysdba” //以sysdba用户登录,这样可以管理权限,添加用户等 Win+R—cmd—>sqlplus username/password //以指定用户名密码登录 win+R —> cmd —–> sqlplus //按照提示,输入用户名密码 

oracle pl/sql 程序设计 历史笔记整理

20131016 周三 oracle pl/sql 程序设计 第2章 创建并运行pl/sql代码 sqlplus yjkhecc/[email protected]:1521/orcl 在java中调用存储过程: create or replace procedure t_p(l_in in out number) is begin l_in := 5; end; @Test public void test() throws SQLException { DataSource ds = Dat

Oracle之PL/SQL学习笔记之触发器

Oracle之PL/SQL学习笔记之触发器 触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来启动运行. 即触发器是当某个事件发生时自动地隐式运行.并且,触发器不能接收参数.所以运行触发器就叫触发或点火(firing).ORACLE事件指的是对数据库的表进行的INSERT. UPDATE及D

Oracle事务和常用数据对象

防伪码:一寸光阴一寸金 前言:本次内容的相关知识点我们在学习sqlserver2008R2的时候介绍过一些,包括:事务.索引.视图等.那么今天我们学习在oracle上实现这些重要的内容,以实现数据库的优化. 一.事务 1.简介 事务是数据处理的核心,是业务上的一个逻辑单元,它能够保证其中对数据所有的操作,要么全部成功,要么全部失败.DBMS通过事务的管理来协调用户的并发行为,减少用户访问资源的冲突. 1)显示提交:当事务遇到COMMIT指令时,将结束事务并永久保存所有的更改的数据. 2)显示回滚

Oracle&PLSQL 安装及乱码问题解决

1,先到Oracle网站下载Instant Client ,如果有老版本,就不用下载了 下载回是一个压缩文件,解压之后的文件夹叫:D:/instantclient_11_2.放在你喜欢的目录即可.例如:D:/instantclient_11_2 2. 2.在D:/instantclient_11_2目录下新建目录network,在network目录下再新建admin目录,在admin目录下新建文件tnsnames.ora,使用文本编辑器打开写入如下内容: MWDB=(DESCRIPTION =