现在的位置: 首页 > 综合 > 正文

2006年7月1日总结

2013年09月06日 ⁄ 综合 ⁄ 共 823字 ⁄ 字号 评论关闭

1、要将业务规则尽量写在程序里,而不要写在数据库的语句或存储过程或触发器中 ,一是为了实现业务规则与数据库的分离;二是为了在客户端实现业务规则比较方便。

2、lTicketInsert  顾名思义是插入票,这是个标准的存储过程,放票是个标准的业务规则,可以将业务规则统一调用标准存储过程,也就是说由lTicketCreate调用lTicketInsert,而标准存储过程是用来每次插入一条记录的,因此要做到和其他的标准存储过程要统一,这样是很有必要性的,同样的lTicketUpdate同样也是个标准的存储过程,并非是业务规则,如果票存在以下操作:锁票、毁票等业务规则,就可以调用调用上述的存储过程,这样就可以做到业务规则与标准的数据库操作分开了。

3、客人来购买票,可以指定数量,也可以指定票,对于指定数量,存在以下情况需要解决:如果票不够了,已经选择的票是否还要保留,可以在客户端直接说明清楚,一次把问题搞定,不要再返回来告诉客户,是不是要保留自己已经预订的票,第一浪费时间,二、浪费网络资源。

4、SET XACT_ABORT ON与事务的关系到底如何?

5、锁票包括两种方式,用户指定数量进行锁、用户指定票号锁票、对于指定数量:可以使用动态的SQL语句来执行,可以锁定指定数量的票,同时根据用户提供的处理状态,进行随机的操作。对于指定票号锁票可以在客户端生成一个字符串,其中用逗号进行隔开,在存储过程中,判断获取其中的一个票号,看看是不是符合锁票的前提条件,如果符合,则锁定,这个将用到两个技术:while   in()   动态SQL语句

6、对上述内容进行补充,对于锁定票,无论是指定票数,还是制定票号,我们都给存储过程传入一个STRING类型的参数,这样的话,对于上述两种索票方式都可以采用同一个存储过程来处理,这样就加强了统一,select * from biao where  ...   in ()   使用动态SQL语句来执行。

7、待续............

抱歉!评论已关闭.