易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL存储过程测试(4)——创建T

问题
      如何创建一个T-SQL测试套件用于测试SQL存储过程。
设计
      首无,通过插入大量测试平台数据准备好一个包含待测存储过程的底层数据库。接下来,使用一个SQL游标(cursor)遍历这个测试用例数据表。针对每个测试用例,调用待测存储过程并且取得它的返回值,把实际返回值与期望值进行比较,从而判定测试结果是通过与否,然后显示或保存测试结果。
方案
——testAuto.sql
——为dbEmployees填充数据
truncate table dbEmployees.dbo.tblEmployees
insert into dbEmployees.dbo.tblEmployees values('e11','Adams','15/10/2009')
insert into dbEmployees.dbo.tblEmployees values('e22','Baker','15/10/2009')
insert into dbEmployees.dbo.tblEmployees values('e33','Young','15/10/2009')
insert into dbEmployees.dbo.tblEmployees values('e44','Zetta','15/10/2009')
——此处插入更多数据
declare tCursor cursor fast_forward
    for select caseID,input,expected
    from dbTestCasesAndResults.dbo.tblTestCases
    order by caseID
declare @caseID char(4),@input char(3),@expected int
declare @actual int,@whenRun datetime
declare @resultLine varchar(50)
set @whenRun = getdate()
open tCursor
fetch next
    from tCursor
    into @caseID,@input,@expected
while @@fetch_status = 0
    begin
    exec @actual = dbEmployees.dbo.usp_StatusCode @input
    if (@actual = @expected)
        begin
            set @resultLine = @caseID + ': Pass'
            print @resultLine
        end
    else
        begin
            set @resultLine = @caseID + ': FAIL'
          &nbs


相关文档:

Sql 点滴

ID int identity(1,1) primary key 自动增长,主键
EXEC sp_rename 'login_info','PDI_login_info'  执行存储过程 sp_rename , 将login_info表名 更改为 PDI_login_info
SET   XACT_ABORT  {ON|OFF} 如果事务中发生错误,on   则会终止整个事务的执行,如果OFF,继续错误的下面一句  
SET &nbs ......

SQL 和Oracle对数据库事务处理的差异性

      简介
  本文讲述MS SQL Server和Oracle对数据库事务处理的差异性,以及Oracle如何对事务处理的实现。
  什么是事务
  数据库事务(Database Transaction)是一组数据库操作的处理单元。事务符合ACID的特性:
  Atomic:原子性,要么全部要么一无所有。All or None.
  Consisten ......

SQL 行列互变之终极方法

SQL之行列互变问题。
     寻寻觅觅,SQL行变列,列变行问题虽然解决方案众多,但无不存在着代码复杂,性能欠佳等问题。今有幸得知最佳解决方案,好东西不敢独享,笔记之,雅俗共赏。
     示例数据:(该示例数据来自YHHR数据库 Performance_Zmonth_Value表)
Employee_Id& ......

重写SQL Server DateDiff函数

--将系统datediff函数重写,主要把datepart类型改为varhcar,方便调用
--作者:敖士伟
--Date:2009-10-14 10:29
create function MyDateDiff(@datepart varchar(50), --日期间隔类型:year,month,day.etc
@date1 varchar(50), @date2 varchar(50))
returns int
as
begin
 declare @part int
 if @datepart ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号