有N台服务器,其中大部分运行hibernate 访问数据库,一台短信服务器用Delphi,一台内网采集硬件信息的服务器用了VC+ADO+ODBC。所有服务器均可能更新数据库中一个表中同一行,现在该行使用version,但对短信服务器,硬件信息服务器无效,如何处理才能保证乐观锁呢?听说用如下方法
create procedure update_info
@a1 int,@b1 int,@id1 int
as
begin
update info set a=@a1,b=@b1 where id=@id1
end
所有程序调用此存储过程,能保证乐观锁更新不出问题吗?——什么原理呢?
如果是这样的话,有许多表同时并发更新的话, 每个表都要一个这样的存储过程吗?
如果是这样的话,每次向表中加一列,企不要再修改很多存储过程吗?
create procedure update_info
@a1 int,@b1 int,@id1 int
as
begin
update info set a=@a1,b=@b1 where id=@id1
end
所有程序调用此存储过程,能保证乐观锁更新不出问题吗?——什么原理呢?
如果是这样的话,有许多表同时并发更新的话, 每个表都要一个这样的存储过程吗?
如果是这样的话,每次向表中加一列,企不要再修改很多存储过程吗?