/******************T_MESSAGE_INFO**********************/
declare
i NUMBER;
v_s varchar2(50);
v_phone_number VARCHAR2(21);
v_date DATE;
v_rows NUMBER;
START_DATE DATE;
Used_time VARCHAR2(50);
begin
execute immediate 'truncate table T_MESSAGE_INFO';
select sysdate INTO START_DATE from dual;
v_rows := 500000;
for i in 1..v_rows loop
v_s := TRIM (TO_CHAR (MOD (i, 24), '00'))
|| ':'|| TRIM (TO_CHAR (MOD (i, 60), '00'))
|| TRIM (TO_CHAR (MOD (i, 60), '00'));
v_date := to_date('2011-01-04'||' '||v_s,'yyyy-mm-dd hh24:mi:ss');
v_phone_number := '8613258888' || lpad(round(DBMS_RANDOM.VALUE (1, 1000)),3,'0');
INSERT INTO T_MESSAGE_INFO
(FLOW_ID,ACCOUNT_ID,PHONE_NUMBER,CALLINGNUMBER,RECIPIENT,MSG_IDENTIFIER,SEND_DATE,MSG_CONTENT,MSG_PATH,MSG_STATE,CURRENT_DIRECTORY,DEFAULT_DIRECTORY,READ_FLAG,HANDLER_RESULT,ORAID,SUBJECTSIZE,MSG_SIZE,IMPORTANTFLAG,DESC2,DESC1)
VALUES
(seq_msg_wh_flow_id.nextval,lpad(round(DBMS_RANDOM.VALUE (1, 10000000000000000000)),20,'0'),v_phone_number,v_phone_number,v_phone_number,1,v_date,lpad(round(DBMS_RANDOM.VALUE (1, 10000000000000000000)),1400,'0'),lpad(round(DBMS_RANDOM.VALUE (1, 10000000000000000000)),512,'0'),1,lpad(round(DBMS_RANDOM.VALUE (1, 10000000000000000000)),20,'9'),lpad(round(DBMS_RANDOM.VALUE (1, 10000000000000000000)),20,'9'),1,1,lpad(round(DBMS_RANDOM.VALUE (1, 10000000000000000000)),128,'9'),lpad(round(DBMS_RANDOM.VALUE (1, 1000000000)),10,'9'),lpad(round(DBMS_RANDOM.VALUE (1, 1000000000)),10,'9'),lpad(round(DBMS_RANDOM.VALUE (1, 10000)),5,'9'),
'SFB03XTPK6QJAJ GT7J4RF1 BCC352N77L8FP VJPS5NQYUNX6GBVR6UTNDBKONVACUJXH1SE2GA8A1YOE7D2MCXL5WR3NP03R3TGHECE3R7UKKJR0IJ DO2HFCE5VD9','SFB03XTPK6QJAJ GT7J4RF1 BCC352N77L8FP VJPS5NQYUNX6GBVR6UTNDBKONVACUJXH1SE2GA8A1YOE7D2MCXL5WR3NP03R3TGHECE3R7UKKJR0IJ DO2HFCE5VD9');
if mod(i,50000) = 0 then
commit;
end if;
end loop;
COMMIT;
-- calculate time
select ceil((to_date(TO_CHAR(sysdate , 'yyyy-mm-dd hh24-mi-ss'),'yyyy-mm-dd hh24-mi-ss') - to_date(TO_CHAR(START_DATE , 'yyyy-mm-dd hh24-mi-ss'),'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60* 1000) INTO Used_time FROM DUAL;
dbms_output.put_line('USED_TIME: '||Used_time );
end;
/
分享到:
相关推荐
SQL(Structured Query Language)是用于管理关系数据库的标准编程语言,包括数据查询、数据更新、数据插入和数据删除等操作。在Oracle中,SQL不仅可以执行基本的DML(Data Manipulation Language)语句,如SELECT、...
**SQL连接测试器**是一种实用工具,主要用于验证和测试数据库的连接性,确保应用程序能够成功地与SQL服务器建立通信。这个工具通常是开发人员和DBA(数据库管理员)在软件项目实施过程中不可或缺的一部分,因为它...
提供的部分代码示例展示了一个使用PL/SQL块批量插入测试数据的例子。这种方法适用于需要插入大量数据的情况,并且可以通过循环结构灵活控制插入的数据量。 ```sql DECLARE v_index NUMBER := 1; -- 定义变量用于...
存储过程是一种存储在数据库中的预编译的SQL代码块,它可以接受输入参数、包含复杂的逻辑,并返回结果集或状态值。由于存储过程在数据库服务器上执行,因此可以显著提高应用程序的性能和安全性。 #### 示例存储过程...
- **规则2.5 程序块间隔行规则**:在不同的代码块之间留有空行,增加代码的可读性。 - **规则2.6 IF语句**:IF语句及其分支应该适当缩进,以表明它们之间的关系。 - **规则2.7 循环语句**:循环语句也应遵循同样的...
1. **DLL(Dynamic Link Library)**:DLL是Windows操作系统中的一个重要组件,它允许多个程序共享同一块代码和数据,从而节省内存资源和提高执行效率。在本项目中,封装的VC访问SQL的DLL可能包含了一系列预定义的...
使用PL/SQL Developer,开发者可以编写、调试、测试和管理PL/SQL代码。这个IDE提供了代码编辑器,支持语法高亮、自动完成和错误检查,帮助提高开发效率。它还包含数据库连接管理、对象浏览器、数据查看器和版本控制...
Sqlplus是Oracle数据库系统自带的一个命令行工具,它允许用户直接与数据库交互,执行SQL查询、DML(数据操纵语言)操作、DDL(数据定义语言)以及PL/SQL块。Sqlplus不仅可以执行单个SQL语句,还能处理批处理脚本,这...
函数则是在SQL语句中使用的可重用代码块,返回一个值。 6. **事务处理**:事务是一组原子操作,要么全部成功,要么全部回滚。这对于保持数据库的一致性和完整性非常重要。 7. **备份与恢复**:了解如何备份和恢复...
9. **触发器(Trigger)**:触发器是在特定数据库事件(如INSERT, UPDATE, DELETE)发生时自动执行的PL/SQL代码,常用于实施业务规则和审计。 10. **索引与优化**:理解如何创建和使用索引,以及如何编写高效的SQL...
存储过程是预编译的T-SQL代码块,可以包含参数,执行多次而不需重复编译,从而提高性能。在SQL Server 2005中,创建、修改和执行存储过程是数据库开发的核心技能。它们可以用于实现复杂的业务逻辑,提高安全性(通过...
10. **存储过程和触发器**:自定义的预编译SQL代码块,可提高性能并简化复杂操作;触发器则是在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行的程序。 通过“SQL题库.doc”这样的资源,学习者可以全面测试和...
在SQL Server 2005中,存储过程是一种预编译的SQL代码集合,它可以封装一组复杂的查询和操作,以供以后重复使用。这极大提高了数据库管理效率,减少了网络流量,并增强了安全性。以下将详细解释如何创建存储过程,...
- **环境搭建与配置**:本书将介绍如何在不同的操作系统环境下安装并配置Oracle 11g数据库环境,以及如何设置PL/SQL Developer或其他开发工具来编写和测试PL/SQL代码。 - **基本语法与结构**:包括数据类型、变量...
开发者需要编写SQL语句,通过PreparedStatement对象执行查询、插入、更新和删除操作。 六、异常处理 在实际应用中,系统可能会遇到各种异常情况,如数据库连接失败、SQL执行错误等。Java提供了异常处理机制,通过...
该资料是《Oracle SQL高级编程》的源代码 对应的书籍资料见: Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐) 基本信息 原书名: Pro Oracle SQL 原出版社: Apress 作者: (美)Karen Morton Kerry ...
此匿名块展示了如何使用PL/SQL声明变量、插入数据到表中以及使用`DBMS_OUTPUT`包在屏幕上显示数据。值得注意的是,为了使`DBMS_OUTPUT.PUT_LINE`函数生效,需要确保服务器输出(Server Output)已开启,可通过命令`...
9. **触发器**:这是在特定数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行的PL/SQL代码块,常用于实现业务规则或数据验证。 10. **游标**:在PL/SQL中,游标用于逐行处理查询结果,特别是在循环或条件判断...
本教程主要探讨如何在Windows Phone(WP)应用中通过Windows Communication Foundation (WCF)服务与SQL Server 2008数据库进行通信,特别是进行数据插入操作。其他的基本数据操作,如更新、删除和查询,可以通过类似...