测试SQL Server的业务规则链接方法
2007-05-19 09:44:48 来源:WEB开发网核心提示: 表A在列表B中,我在BusinessLogic表中加载了数据,测试SQL Server的业务规则链接方法(2),这些数据是稍后我将用来处理业务规则的,RunSequence是执行存储过程的实际顺序(过程被存储在LogicProcedure字段中),如果需要的话,它们可以很复杂),表格中还包
表A
在列表B中,我在BusinessLogic表中加载了数据。这些数据是稍后我将用来处理业务规则的。RunSequence是执行存储过程的实际顺序(过程被存储在LogicProcedure字段中)。表格中还包含了一个指示符,用来表示业务规则是否为活动的。存储这个数据让我能够改变规则运行的顺序,或者在需要的时候打开或终止规则,而无需对代码做出更改。要向业务逻辑系统中添加规则也十分简单,因为所需做的就是向数据库中添加程序,然后在元数据表格中添加需要的数据就可以了。
在列表C中,我创建了业务规则程序(例子中包含的程序是非常简单的;但是,在现实情况中,如果需要的话,它们可以很复杂)。所有的程序中包括了相同的输入参数;这是业务规则链接的一个小小的局限性。
INSERT INTO BusinessLogic(ProcessType, RunSequence, LogicProcedure)
VALUES('CustomerOrders', 1, 'usp_Rule1')
INSERT INTO BusinessLogic(ProcessType, RunSequence, LogicProcedure)
VALUES('CustomerOrders', 2, 'usp_Rule2')
INSERT INTO BusinessLogic(ProcessType, RunSequence, LogicProcedure)
VALUES('CustomerOrders', 3, 'usp_Rule3')
INSERT INTO BusinessLogic(ProcessType, RunSequence, LogicProcedure)
VALUES('CustomerOrders', 4, 'usp_Rule4')
列表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
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接