SQLSERVER 锁定记录,只允许单用户修改的例子
来源:互联网 发布:帝国cms 图片系统数据 编辑:程序博客网 时间:2024/05/01 17:39
http://bbs.csdn.net/topics/300001895
锁定记录,只允许单用户修改的例子
create
table
#锁表(编号
int
)
--代码:
if exists(
select
1
from
编号=
'你的编号'
)
return
insert
#锁表
values
(
'你的编号'
)
.....你处理的代码
delete
#锁表
where
编号=
'你的编号'
--------------------------------------
--为了防止死锁,建议加时间:
create
table
#锁表(编号
int
,时间 datetime)
--代码:
if exists(
select
1
from
编号=
'你的编号'
and
datediff(ss,时间,getdate())<5
--如果锁的时候超过5秒,则是处理超时
)
return
delete
from
#锁表
insert
#锁表
values
(
'你的编号'
,getdate())
.....你处理的代码
delete
#锁表
where
编号=
'你的编号'
---------------------------------------
--锁定记录,只允许单用户修改的例子:
--创建测试环境
--创建测试表--部门表
create
table
部门(departmentid
int
,
name
varchar
(10))
--记录锁定表
create
table
lock(departmentid
int
,dt datetime)
go
--因为函数中不可以用getdate,所以用个视图,得到当前时间
create
view
v_getdate
as
select
dt=getdate()
go
--创建自定义函数,判断记录是否锁定
create
function
f_chk(@departmentid
int
)
returns
bit
as
begin
declare
@re
bit
,@dt datetime
select
@dt=dt
from
v_getdate
if exists(
select
1
from
lock
where
departmentid=@departmentid
and
datediff(ss,dt,@dt)<5)
set
@re=1
else
set
@re=0
return
(@re)
end
go
--数据处理测试
if dbo.f_chk(3)=1
print
'记录被锁定'
else
begin
begin
tran
insert
into
lock
values
(3,getdate())
update
部门
set
name
=
'A'
where
departmentid=3
delete
from
lock
where
departmentid=3
commit
tran
end
--删除测试环境
drop
table
部门
drop
view
v_getdate
drop
function
f_chk
0 0
- SQLSERVER 锁定记录,只允许单用户修改的例子
- 锁定记录,只允许单用户修改的例子
- 锁定记录,只允许单用户修改的例子
- 锁住你的记录:sqlserver锁定数据库中的一行记录
- 锁住你的记录:sqlserver锁定数据库中的一行记录
- 同一时刻只允许一个客户端连接的例子
- asp.net 单用户登录(系统中只允许同一账户的一个存在--排它多处登录)
- vb.net数据库编程(04):一个SQLserver修改记录的简单例子。
- vb.net数据库编程(04):一个SQLserver修改记录的简单例子。
- 关于SQLServer的锁定
- 单用户进入SQLServer并修改行版本控制级别
- SqlServer-删除某一个字段重复的记录,只保留一条
- mysql、oracle、sqlserver中只显示前几条记录的语法
- TortoiseSVN设置必须先锁定才允许修改
- linux通过单用户修改用户密码的方法
- 在ABAP程序中只允许一个用户修改数据的一种方法。
- sqlserver 触发器 判断是插入 删除 还是修改 的例子
- 允许修改svn历史日志记录
- HDS相关(一)之 HTTP Dynamic Streaming 学习笔记[原理篇]
- 流编辑器 SED 十分钟入门全教程
- 续:20题 java
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结(一)
- 为SSD编程(3):页、块和闪存转换层
- SQLSERVER 锁定记录,只允许单用户修改的例子
- linux下mysql中开启事件调度器(event_schduler)
- 记录2014找实习经历
- 远程服务器与本地之间不能互相粘贴
- Oracle如何查看日志
- Linux 文件系统目录结构
- pl sql 不安装Orcle客户端解决办法
- 理解 javascript 函数,方法,构造器
- reportviewer 应用方法