通过存储过程实现数据库的组织关系,抛弃事件
不知道是我企业管理器不太熟悉还什么的,总是有一种错觉,就是利用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
---------------------
在很多数据之间的的关系其实很复杂的,要比较好的解决这些关联信息的问题,用存储过程就可以很好解决了。