2007-03-19

针对SQL Server中业务规则链接的分析

来源: 本站收集整理 作者:佚名 评论 0 条
 

清单B

CREATE PROCEDURE usp_Rule1 (@RunSequence TINYINT)

AS

      PRINT 'In Procedure: '   OBJECT_NAME(@@PROCID)

      PRINT 'Parameter Value Passed In:'   CAST(@RunSequenceAS VARCHAR(2))

GO

CREATE PROCEDURE usp_Rule2 (@RunSequence TINYINT)

AS

      PRINT 'In Procedure: '   OBJECT_NAME(@@PROCID)

      PRINT 'Parameter Value Passed In:'   CAST(@RunSequenceAS VARCHAR(2))

GO

CREATE PROCEDURE usp_Rule3 (@RunSequence TINYINT)

AS

      PRINT 'In Procedure: '   OBJECT_NAME(@@PROCID)

      PRINT 'Parameter Value Passed In:'   CAST(@RunSequenceAS VARCHAR(2))

GO

CREATE PROCEDURE usp_Rule4 (@RunSequence TINYINT)

AS

      PRINT 'In Procedure: '   OBJECT_NAME(@@PROCID)

      PRINT 'Parameter Value Passed In:'   CAST(@RunSequenceAS VARCHAR(2))

GO

清单C

接下来就是处理业务规则的代码了。在清单D中,我用一个指针在表格中迭代,该表格中的记录都保存着元数据。当可以用一种不同的循环结构来完成同一个逻辑时,用指针要简单一些。不管是怎么样完成的,都需要用某种类型的迭代循环和执行所需要的业务程序。运行这个代码将执行每一个文章前面所定义的四个存储过程。

DECLARE @LogicProcedure VARCHAR(255)

DECLARE @RunSequence TINYINT

DECLARE LogicCursor CURSOR 



FOR 



SELECT LogicProcedure, RunSequence FROM BusinessLogic 

WHERE 

      ProcessType = 'CustomerOrders' AND

      BusinessLogicActive = 1

ORDER BY RunSequence ASC



OPEN LogicCursor 

FETCH NEXT FROM LogicCursor 

INTO @LogicProcedure, @RunSequence



WHILE @@FETCH_STATUS = 0 

BEGIN 

      EXECUTE @LogicProcedure  --//Call procedure stored in variable

      @RunSequence = @RunSequence  --//Pass in parameter

      PRINT '-----------------------------'

FETCH NEXT FROM LogicCursor 

INTO @LogicProcedure, @RunSequence

END 



CLOSE LogicCursor 

DEALLOCATE LogicCursor 

GO

清单D

在清单D中,有两个主要引人注重的地方。第一个就是用来从表格中检索记录的select语句,所检索的记录中包含了处理业务规则的信息。从这个简单的查询中,我可以为任何类型的业务处理从BusinessLogic表中返回行。我还能保证规则是活动的,并且按照它们需要执行的顺序返回。

第二个就是执行业务规则的方式。当指针迭代时,它从BusinessLogic表中检索将要被执行的存储过程的名称,然后将其储存在一个逻辑变量中。EXECUTE命令答应用户执行存储过程,即使该存储过程的名称被储存在一个变量中。在这种方式下,调用存储过程还使得我能够向存储过程中输入所需的参数。
共3页: 上一页 [1] 2 [3] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:如何改进SQL Server安全系统  
下一篇:将 MS SQL Server 2005 SP2 整合到安装文件
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号