易截截图软件、单文件、免安装、纯绿色、仅160KB

请教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


顶一下~

不清楚,顶下子

学习

引用
lz的写法至少应该有个else rollback tran

up

引用
引用 6 楼 perfectaction 的回复:
lz的写法至少应该有个else rollback tran

up


else我的代码里有
散分~


相关问答:

关于ASP利用SQL语句技巧分页效果

我是这样写的

select top 5 * from city where id not in(select top (5*"&page-1&") id from city) ..

很失败的  还要先判断是不是第一页 然后选择性执行 sql .. 写着写着我 ......

asp连接SQL2005 出现 无效的连接(0x80004005) 错误!

错误信息:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC SQL Server Driver][Shared Memory]无效的连接。
/bbsxp/test.asp, 第 24 行

机器配置:xp sp3 ,SQL 2005(vs ......

(救命呀救命呀救命呀)ASP.NET突然不能连接SQL2000

如题:前几天服务器还是好好的  今天网页打不开突然出现错误,一查是链接不上数据库了?
(查询分析器和企业管理器都可以正常显示)


[SqlException (0x80131904): 用户 'sa' 登录失败。] ......

linux 下的java 程序调用sqlplus执行.sql文件乱码

                        现在我的情况是这样:

                        我的 ......

SQL语句提问

现有表  Term
结构如下

time1 time2 idterm
2009-2-15 2009-6-30 11
2009-9-10 2010-1-15 12

如果输入 2009-4-25 则应该取出idterm 11
如果输入 2009-12-5 则应该取出idterm 12 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号