码迷,mamicode.com
首页 > 其他好文 > 详细

1-0SBO学习心得(存储过程理论)

时间:2014-07-07 20:23:07      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   strong   数据   os   

一、原理:系统中每张单据在进行新增(A)、删除(D)、修改(U)、关闭(L)、取消(C)时都会触发数据库相应业务数据的更新,更新数据但不立刻commit,更新完数据后会先触发一个名为SBO_SP_TransactionNotification的存储过程,存储过程返回名为@error的参数,取1或者0。当返回0时表示正常,系统继续commit操作;当返回1时表示不正常,数据库回滚,操作无效。

该存储过程代码如下:

USE [DFKJ_TEST]
GO
/****** Object:  StoredProcedure [dbo].[SBO_SP_TransactionNotification]    Script Date: 06/28/2014 12:20:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[SBO_SP_TransactionNotification] 

@object_type nvarchar(20),                 -- SBO Object Type
@transaction_type nchar(1),            -- [A]dd, [U]pdate, [D]elete, [C]ancel, C[L]ose
@num_of_cols_in_key int,
@list_of_key_cols_tab_del nvarchar(255),
@list_of_cols_val_tab_del nvarchar(255)

AS

begin

-- Return values
declare @error  int                -- Result (0 for no error)
declare @error_message nvarchar (200)         -- Error string to be displayed
select @error = 0
select @error_message = NOk

--------------------------------------------------------------------------------------------------------------------------------

--    ADD    YOUR    CODE    HERE

--------------------------------------------------------------------------------------------------------------------------------

-- Select the return values
select @error, @error_message

END
服务器会给这个存储过程传5个参数,分别是:
@object_type nvarchar(20), --操作的单据编号
@transaction_type nchar(1),--操作类型 [A]dd, [U]pdate, [D]elete, [C]ancel, C[L]ose
@num_of_cols_in_key int,   --待操作数据表的主键个数
@list_of_key_cols_tab_del nvarchar(255),--主键名称,如果有多个主键,以“;”分割
@list_of_cols_val_tab_del nvarchar(255) --主键值,以“;”分割。
这是在这个存储过程中我们唯一能抓到的参数,控制逻辑就要运用到这些参数。
读代码可以发现默认情况下@error的取值是0,我们可以在bubuko.com,布布扣这个位置加入代码来进行相应的控制。
 

1-0SBO学习心得(存储过程理论),布布扣,bubuko.com

1-0SBO学习心得(存储过程理论)

标签:style   blog   color   strong   数据   os   

原文地址:http://www.cnblogs.com/dfkjerp/p/3813227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!