请教sql高手,关于ms-sqlserver锁机制
SQL code:
declare @cnt int
select @cnt=count(1) from TableTest
if(@cnt==0)
insert into TableTest values(1,'abc')
对于这样的一段sql并发执行时,应该有可能插入重复记录
不知道大家是怎么防止出现重复数据,我用了表级锁,可是还是出现了两条同样记录
我是这样处理的
SQL code:
declare @cnt int
begin tran
select @cnt=count(1) from TableTest with(TABLOCKX)
if(@cnt==0)
begin
insert into TableTest values(1,'abc')
commit tran
end
打happyflystone..超级强人..跟鲍尔默一样强..
只知道happyflystone 不知道鲍尔默
加个约束不就行吗
with(TABLOCKX) 会有x锁,应该不会重复
学习
lz的写法至少应该有个else rollback tran
顶一下~
不清楚,顶下子
学习
up
else我的代码里有
散分~
相关问答:
原帖子:http://topic.csdn.net/u/20090910/12/813a40a2-922d-4f6a-b30b-a16b9a608f81.html?seed=1336087098&r=59699368#r_59699368
下面的代码有错误吗?sql语句在Query中是可以执行出结果的。
Set C ......
我是这样写的
select top 5 * from city where id not in(select top (5*"&page-1&") id from city) ..
很失败的 还要先判断是不是第一页 然后选择性执行 sql .. 写着写着我 ......
....接到一个小程序..工作原来大概是这样的...前台是WEB服务器.架构就是ASP+SQL..前台由ASP向SQL添加服务类别(表单).然后又后台程序读取表单..要实时读取..然后显示在服务器上面..从理论上面能行通不?如果可以..后台 ......
怎么使我每次不是更新数据库
而是覆盖上次的所有记录呢!
因为有时候时间条件不同
SQL code:
select * from hwouttb where
CAST(REPLACE(REPLACE(REPLACE(outdate,'年','-' ),'月','-'),'日','') AS ......
有三个表一个是采购单格式如下
入库单表:
入库单号 产品 质检编号 入库数量
001 品种1&n ......