SQL-SYBASE存储过程

存储过程自动记录操作记录(DDL-SQL)
Auto save user operate_log(select/insert/update/delete)

with sybase database procedure

 

Sybase 数据库在中国的应用领域 ( 税务 , 保险 , 银行 , 财政 )

author:chinayaosir,QQ:44633197
blog:http://blog.csdn.net/chinayaosir

 

--------------------------------------------------------------------------------------------
//1.create a table for testting
create table dbo.b_bom_user (
usercode char(20) not null,
username char(20) not null,
password char(10) null,
user_dept char(20) null,
officename char(1) null
) ;
alter table dbo.b_bom_user
add constraint b_bom_user_Px primary key (usercode) ;

//2.user table operate log with call procedure
drop table dbo.b_bom_user_log;
create table dbo.b_bom_user_log(
operate_time    datetime not null,
operate_name    varchar(20) not null,
operate_detail    text null
);
alter table b_bom_user_log
add constraint b_bom_user_log_Pk primary key (operate_time,operate_name) ;

//3.b_bom_user table procedure list

//3.1 b_bom_user_select procedure
drop procedure dbo.b_bom_user_select;
create procedure dbo.b_bom_user_select
as
begin
    select
    dbo.b_bom_user.usercode,
    dbo.b_bom_user.username,
    dbo.b_bom_user.password,
    dbo.b_bom_user.user_dept,
    dbo.b_bom_user.officename
    from  b_bom_user

    insert into b_bom_user_log
    values(getdate(),'b_bom_user_select','select usercode,username,password,user_dept,officename from b_bom_user')
   
end
;

//3.2 b_bom_user_insert procedure
drop procedure dbo.b_bom_user_insert;
create procedure dbo.b_bom_user_insert
@usercode char(20),
@username char(20),
@password char(10),
@user_dept char(20),
@officename char(1)
as
begin   
    insert into b_bom_user(usercode,username,password,user_dept,officename)
    values(@usercode,@username,@password,@user_dept,@officename)
    insert into b_bom_user_log
    values(getdate(),'b_bom_user_insert','insert into b_bom_user'+@usercode+@username+@password+@user_dept+@officename)
end
;

//3.3 b_bom_user_delete procedure
drop procedure dbo.b_bom_user_delete;
create procedure dbo.b_bom_user_delete
@usercode char(20)
as
begin
    delete from  b_bom_user where usercode = @usercode
    insert into b_bom_user_log
    values(getdate(),'b_bom_user_delete','delete from  b_bom_user where usercode ='+@usercode)

end
;
//3.4 b_bom_user_update procedure
drop  procedure dbo.b_bom_user_update;
create procedure dbo.b_bom_user_update
@usercode char(20),
@username_old char(20),
@username_new char(20),
@password_old char(10),
@password_new char(10),
@user_dept_old char(20),
@user_dept_new char(20),
@officename_old char(1),
@officename_new char(1)
as
begin
    update b_bom_user set
        username = @username_new,
        password = @password_new ,
        user_dept = @user_dept_new,
        officename = @officename_new
    where
        usercode = @usercode and
        username = @username_old and
        password = @password_old and
        user_dept = @user_dept_old and
        officename = @officename_old
    insert into b_bom_user_log
    values(getdate(),'b_bom_user_update','update b_bom_user update username = '+@username_new+' password ='+@password_new+' user_dept='+@user_dept_new+' officename ='+@officename_new+' where usercode ='+@usercode)
end
;

//4.c/s program sample,pls used baidu/google
call procedure with pb datawindow


//5.b/s program sample,pls used baidu/google
call procedure with jsp/javabean/ejb3.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值