请教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我的代码里有
散分~
相关问答:
各位大侠:请问怎样在ASP程序中调用SQL存储过程?谢谢,请给个例子!
http://hi.baidu.com/lz0830/blog/item/e847e5e9077fde39b80e2db9.html
1 这也是最简单的方法,两个输入参数,无返回值:
set con ......
我是这样写的
select top 5 * from city where id not in(select top (5*"&page-1&") id from city) ..
很失败的 还要先判断是不是第一页 然后选择性执行 sql .. 写着写着我 ......
我安装SQL SERVER2008的时候选择WINDOWS身份验证连接的,我不知道怎么写连接。。。
还有我想改成SQL SERVER身份验证怎么改??
谢谢大家了!
XML code:
<configuration>
<appSettings>
& ......
@s='S1,S2,S12,S23';
将@s里面的S1,S2替换成处理,未处理
来者有分.
REPLACE(@s,'S1,S2','处理,未处理')
REPLACE 不好用 自己试下
SQL code:
declare @s ......
StringBuffer str = new StringBuffer("select * from menu where parentid=1 and mid <>1 order by parentid");
List list = new ArrayList();
ResultSet rst = null;
DataBa ......