SQL Server存储过程(procedure)应用

用户反映,系统操作日志会使用数据库快速增大,情况可参考下图,

问题分析,整个系统每个页面,都有写记录用户操作代码,修改或禁用这个代码,看来是不可能的。

在原有系统参数表添加一个选项,可以让管理员可选项,“是否启用操作日志”。

这样子,就可以更改操作记录的存储过程,

代码
SET  ANSI_NULLS  ON
GO
SET  QUOTED_IDENTIFIER  ON
GO

ALTER   PROCEDURE   [ dbo ] . [ usp_OperationLog_Insert ]
(
    
@UsersId   INT ,    
    
@Site   NVARCHAR ( 1000 ),
    
@Type   NVARCHAR ( 30 ),
    
@TransactionContent   NVARCHAR ( 1000 ),
    
@State   BIT ,
    
@Info   NVARCHAR ( 2000
)
AS     
-- 修改部分,添加下面两句    
DECLARE   @IsEnableLog   BIT  
SET   @IsEnableLog   =  ( SELECT   [ Enable ]   FROM   [ dbo ] . [ sysParams ]   WHERE   [ ID ]   =   23   AND   [ ParamName ]   =   ' 是否启用操作日志 '  )

    
BEGIN   TRANSACTION
    
IF   @IsEnableLog   =   1      -- 判断是否启用    
     INSERT   INTO   [ dbo ] . [ OperationLog ] (UsersId, [ OperationTime ] , [ Site ] , [ Type ] , [ TransactionContent ] , [ State ] , [ Info ] VALUES  ( @UsersId , GETDATE (), @Site , @Type , @TransactionContent , @State , @Info )
        
    
IF   @@ERROR   <>   0     
    
BEGIN
        
ROLLBACK   TRANSACTION         
    
END         
        
COMMIT   TRANSACTION

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值