2011年3月28日

索引信息的验证

摘要: 1、通过工具来验证索引信息,如oracle数据库可以用PL/SQL。2、通过数据字典user_indexes 、user_ind_columns 的相关信息来验证索引。SELECT ic.index_name, ic.column_name, ic.column_position col_pos, ix.uniqueness FROM user_indexes ix, user_ind_columns ic WHERE ic.index_name = ix.index_name AND ic.table_name = 'G_CHKUNIT' AND ic.index_name= 阅读全文

posted @ 2011-03-28 11:21 dfine.sqa 阅读(506) 评论(0) 推荐(1) 编辑

2011年3月11日

oracle进行表数据恢复

摘要: 1、建表-- Create tablecreate table DARCY(ID NUMBER,INFO NVARCHAR2(32))tablespace DATA_SGPMpctfree 10initrans 1maxtrans 255storage( initial 64K minextents 1 maxextents unlimited);2、插入数据insert into "SGPM"."DARCY"("ID","INFO") values ('1','aaa');inse 阅读全文

posted @ 2011-03-11 13:56 dfine.sqa 阅读(7904) 评论(0) 推荐(1) 编辑

2011年3月2日

Oracle行列转换的几种实现方法

摘要: 假如有如下表,其中各个i值对应的行数是不定的SQL> select * from t;I A D———- ———- ——————-1 b 2008-03-27 10:55:421 a 2008-03-27 10:55:461 d 2008-03-27 10:55:302 z 2008-03-27 10:55:552 t 2008-03-27 10:55:59要获得如下结果,注意字符串需要按照D列的时间排序:1 d,b,a2 z,t这是一个比较典型的行列转换,有好几种实现方法1.自定义函数实现create or replace function my_concat(n number)ret 阅读全文

posted @ 2011-03-02 13:34 dfine.sqa 阅读(822) 评论(0) 推荐(0) 编辑

Oracle实现分组统计记录

摘要: 今天刚上班不久,QQ滴滴的响个不停,看了下信息是一个网友要我帮忙下一个SQL语句,大体意思是:统计heart_active字段为不同情况的记录数,然后按时间来分组。 我想了下,心里想这好办,于是马上建了一个表,语句如下:CREATE TABLE rfid_fixed_heart (input_date date,heart_active VARCHAR2(2)); 接下来往rfid_fixed_heart表中插入了数据,heart_active字段为0和1, input_date中插入YYYY-MM-DD格式的数据。后来就写了下面两个SQL给她,语句一和语句二有点区别,语句一快一统计出hea. 阅读全文

posted @ 2011-03-02 11:34 dfine.sqa 阅读(31173) 评论(2) 推荐(1) 编辑

2011年1月27日

Oracle大数据量数据生成器Data Generator的使用

摘要: 首先测试环境建立:dept表CREATETABLE dept ( deptno NUMBER(6), dname VARCHAR2(20), loc VARCHAR2(20)); 以下实验就是像dept表中插入大量的数据。数据生成器允许创建演示和测试数据。对于测试应用程序和查看它们怎样执行大量的数据,这很有帮助的。可以在PL/SQL Developer的工具菜单的下面找到数据生成器:Data Generator。 基本上,定义由一个或多个表、要生成的记录数量和字段数据定义构成。左上部的按钮允许打开和保存定义。在上面,可以看到提供的 dept演示,这个演示是为 dept表创建数据。在这一页... 阅读全文

posted @ 2011-01-27 17:05 dfine.sqa 阅读(12304) 评论(8) 推荐(2) 编辑

2011年1月26日

junit私有方法测试

摘要: 很多人说类的私有方法不用测试,理由是类私有方法只允许被本类访问,而其他类无权调用。事实上并非如此,来看一个范例程序,Commodity_Parent是一个商品父类,定义了两个商品类基础属性:commodity_name,commodity_price,分别是商品的名称和价格。二组公共和两组受保护的实例方法分别是getcommodity_name(),getcommodity_price,setcommodity_name(),setcommodity_price(),对应的功能是取商品名称、价格,设置商品名称、价格。具体代码如下:package com.fastpoint.Private;p. 阅读全文

posted @ 2011-01-26 09:49 dfine.sqa 阅读(7143) 评论(0) 推荐(2) 编辑

2011年1月25日

Junit实现抽象类测试(二)

摘要: 如果抽象类中包含了具体实现的方法,那么使用抽象类测试(一)中的抽象类测试方式就很勉强了,因为抽象类的具体方法有可能被继承该抽象类的具体子类所覆盖,导致测试偏差现象发生。对于这样的测试场景,可以引入静态内部类进行抽象类变相实例化测试,这里引入Commodity抽象类实现这种设计,该类属性,抽象方法和实例方法的具体描述如下:commodity_name属于Commodity类实例私有属性,用于记录Commodity类实例的name值commodity_price属于Commodity类实例私有属性,用于记录Commodity类实例的price值getCommodity()工厂方法,返回一个Com. 阅读全文

posted @ 2011-01-25 17:26 dfine.sqa 阅读(1776) 评论(0) 推荐(1) 编辑

Junit实现抽象类测试(一)

摘要: OOP的一个很好的机制是使用抽象类,抽象类是不能被实例化的,只能提供给派生类一个接口。设计人员通常使用抽象类来强迫实现人员从基类派生,这样可以确保新的类包含一些期待的功能。 在Junit对抽象类的测试中再次引入工厂设计模式,其测试思想是:抽象类不能被实例化,所以使用具体类测试抽象类是不可以的。因此,构造抽象类的测试类必须也是抽象的。该类需要强制声明两种类型的抽象方法。第一类抽象方法即工厂方法,返回所有被测试抽象类的具体子类实例,第二类定义抽象方法返回所有被测试抽象类的具体子类行为期望值。如下面代码,Commodity类是一个商品抽象类,该类的抽象方法描述具体如下:getCommodityNa. 阅读全文

posted @ 2011-01-25 11:07 dfine.sqa 阅读(3690) 评论(0) 推荐(1) 编辑

2011年1月24日

Junit实现接口类测试

摘要: 写接口的目的一般是,让这个接口的所有实现都具备某个共同的行为。这个行为不仅目前实现的类具备,将来要写的实现也都必须具备。因此,就需要为这个接口编写一个通用的测试程序,这个测试程序不仅能测试当前已经实现的类的通用属性,而且可以不加修改应用于将来要实现的类。首先引入一个抽象的测试类,该测试类的方法用于测试接口的共同行为。然后使用工厂方法创建接口的对象,以完成测试程序。下面是详细步骤:1. 选定测试程序要测试的已经具体实现的类。2. 创建一个抽象的测试类,声明要验证的功能的测试方法。在具体的测试程序实现中继承这个测试类,并修改相应的实现方法。3. 在接口的每一个具体实现中都运行该测试程序,但在每个实 阅读全文

posted @ 2011-01-24 13:35 dfine.sqa 阅读(6510) 评论(0) 推荐(1) 编辑

2011年1月21日

系统监视

摘要: •系统监视1、了解系统状况• uname:显示系统信息• hostname:显示主机名• last:列出最近的用户登录• lastlog:列出每一个用户的最近登录情况• free:显示内存使用状况• top:系统监视器unameuname -a,可以用来显示系统的完整鉴定信息,包括主机名、核心版本等。例如:[root@stationxx root] # uname –aLinux stationxx.example.com 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003i686 i686 i386 GNU/Linuxhostnamehostname指令可以用来 阅读全文

posted @ 2011-01-21 19:18 dfine.sqa 阅读(560) 评论(0) 推荐(1) 编辑

SQL * plus的文件命令

摘要: SQL * plus的文件命令CommandPurposeSAV[E] filename [REP[LACE]APP[END]]将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql,如果使用APPEND则想一个已存在的文件追加内容,如果使用REPLACE则是覆盖一个已经存在文件。GET filename调入存盘的sql文件STA[RT]filename运行调入内存中的sql文件@filename运行调入内存中的sql文件,和START一样ED[IT]打开默认编辑器,Windows系统中默认的是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑。ED[I 阅读全文

posted @ 2011-01-21 19:16 dfine.sqa 阅读(447) 评论(0) 推荐(0) 编辑

sql plus编辑命令参考

摘要: sql *plus编辑命令参考:CommandPurposeA[PPEND] text 添加文本到缓冲区当前行尾C[HANGE] /old/new 在当前行用新的文本替换旧的文本C[HANGE] /text 从当前行删除文本CL[EAR] BUFF[ER] 从SQL缓冲区中删除所有文本DEL 删除当前行DEL n 删除第N行DEL * 删除当前行 DEL n * 删除第N行到当前行DEL LAST 删除最后一行DEL mn 删除m到n行 DEL * n 删除 当前行到第n行I[NPUT] 在当前行之后添加一行I[NPUT] text 在当前行之后添加包含text的一行L[IST] 显示缓冲区中 阅读全文

posted @ 2011-01-21 19:14 dfine.sqa 阅读(692) 评论(0) 推荐(0) 编辑

2010年12月10日

Reusable action with query database

摘要: Reusable action with query database 有两个Action,要实现如下图所示的逻辑,即在Action1中调用queryDB,以实现在Action1中可以只要通过参数就可以进行业务操作,而公用的方法则写入queryDB中。类似的queryDB既可以在本脚本中来调用,也可以在不同的脚本中进行调用。要实现这样的功能,可以利用Action的Reusable action功能。 为了实验,我采用了Oracle数据库及表c_cons。通过输入参数用户编码:cons_no,来实现调用queryDB来查询出用户标识:cons_id。 1、建立两个Action,分别命名为Acti 阅读全文

posted @ 2010-12-10 13:51 dfine.sqa 阅读(587) 评论(0) 推荐(0) 编辑

导航