如何给存储过程加锁,执行完后就解锁 如何加? 我想能够 create proc aaa as 给ABC加锁 N多个操作 给ABC解锁 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 create proc aaa asBEGIN TRAN A....加锁操作最后 NOLOCK 操作COMMIT TRAN A 我找到了。使用事务来可以实现类似SQL77所说的create proc aaas--事务设置SET TRANSACTION ISOLATION LEVEL 事务的类型--事务开始begin tran-执行的操作数据库内容--事务结束commit tran我使用的类型是:REPEATABLE READ指定语句不能读取已由其他事务修改但尚未提交的行,并且指定,其他任何事务都不能在当前事务完成之前修改由当前事务读取的数据。对事务中的每个语句所读取的全部数据都设置了共享锁,并且该共享锁一直保持到事务完成为止。这样可以防止其他事务修改当前事务读取的任何行。其他事务可以插入与当前事务所发出语句的搜索条件相匹配的新行。如果当前事务随后重试执行该语句,它会检索新行,从而产生幻读。由于共享锁一直保持到事务结束,而不是在每个语句结束时释放,所以并发级别低于默认的 READ COMMITTED 隔离级别。此选项只在必要时使用。事务类型参考http://msdn.microsoft.com/zh-cn/library/ms173763.aspx Application Locks......EXEC sp_getapplock 'ProcLock', 'Exclusive', 'session', 'ProcUserRole'EXEC MySpecialProc <parameter list>EXEC sp_releaseapplock 'ProcLock', 'session'--SQL 2005 技术内幕 如何设计多对多关系的数据表? 简单问题,变量可否做表名?? 如何做getdate()这样可以根在select后面使用的自定义函数? 多台机器(多个SqlServer)产生的newid会不会有重复的? 简单问题 SQL SERVER 2000 存储过程 串行执行问题 求助:怎么用SQL语句得到字段名作为条件? 什么是ODBC数据源? 关于Transact-SQL的错误 在SqlServer的存储过程中,如何判断传进来的字符串参数是诸如"12:12:00"的时间格式。 关于如何确保日期的正确性 求一查询
as
BEGIN TRAN A
....
加锁操作最后 NOLOCK 操作
COMMIT TRAN A
类似SQL77所说的create proc aa
as
--事务设置
SET TRANSACTION ISOLATION LEVEL 事务的类型
--事务开始
begin tran
-执行的操作数据库内容
--事务结束
commit tran我使用的类型是:REPEATABLE READ
指定语句不能读取已由其他事务修改但尚未提交的行,并且指定,其他任何事务都不能在当前事务完成之前修改由当前事务读取的数据。对事务中的每个语句所读取的全部数据都设置了共享锁,并且该共享锁一直保持到事务完成为止。这样可以防止其他事务修改当前事务读取的任何行。其他事务可以插入与当前事务所发出语句的搜索条件相匹配的新行。如果当前事务随后重试执行该语句,它会检索新行,从而产生幻读。由于共享锁一直保持到事务结束,而不是在每个语句结束时释放,所以并发级别低于默认的 READ COMMITTED 隔离级别。此选项只在必要时使用。
事务类型参考
http://msdn.microsoft.com/zh-cn/library/ms173763.aspx
......EXEC sp_getapplock 'ProcLock', 'Exclusive', 'session', 'ProcUserRole'
EXEC MySpecialProc <parameter list>
EXEC sp_releaseapplock 'ProcLock', 'session'--SQL 2005 技术内幕