通过存储过程实现数据库的组织关系,抛弃事件

不知道是我企业管理器不太熟悉还什么的,总是有一种错觉,就是利用SQL2000的存储过程和函数解决一些数据关联性的问题就可以了。

何必要使用事件。

同时发现事件还有很多办不到的问题,个人认为这是个懒人的一个偷懒的方法而已。

还有事件还有很多没法实现的功能

譬如:

t_user                                                  t_company

tid int pk                                               tid int pk

textbox1 nvarchar(50)                        userid int

textbox2 nvarchar(50)                        textbox1 nvarchar(50)

textbox3 nvarchar(50)                        textbox1 nvarchar(50)

state int                                                state int

 事件我们可以事件的功能是(我所知道的)

当t_user的某条记录被删除时,我们可以通过事件删除相关关联的数据。

但是考虑到现实中,一个大型网站很少有将数据删除的时候,大多是丢到垃圾箱中,这样就只有存储过程可以办到了 。

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

Create PROC sp_updateState

@tid int

@statevalue nvarchar(50)

@tablename

as

declare @SQLEXEC nvarchar(50)

set @SQLEXEC = 'update ’+@tablename+‘ set stat='+@statevalue+' where  tid=‘+@tid

exec @SQLEXEC

go

 

Create PROC sp_updateUserState

@tid int

@statevalue nvarchar(50)

as

    exec sp_updateState @tid,@statevalue,'t_user'

     declare @companyid int

     set @companyid = (select tid from t_company where userid = @tid)

     exec sp_updateState @tid @statevalue,'t_company'

go

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

在很多数据之间的的关系其实很复杂的,要比较好的解决这些关联信息的问题,用存储过程就可以很好解决了。

 

 

转载于:https://www.cnblogs.com/zhou5791759/archive/2008/10/12/1309056.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值