关于一个并发的问题,谢谢了先
CREATE   TABLE   [dbo].[Test]   ( 
 	[ID]   [bigint]   IDENTITY   (1,   1)   NOT   NULL   , 
 	[NAME]   [char]   (100)   NOT   NULL    
 	[ADDRESS]   [char]   (100)   NOT   NULL    
 )   ON   [PRIMARY]   
 表中数据如下 
 	ID		NAME			ADDRESS 
 	1		IBM			IBM_ADDR 
 	2		SONY			SONY_ADDR 
 	3		Dell			DELL_ADDR 
 	4		HP			HP_ADDR   
 NAME字段为不可重复   
 我希望,当插入新数据时,先查看插入的NAME是否有重复,如果已存在,则用新资料修改以存在记录,否则,插入新数据 
 我用事务实现了,但是不知道这样做是不是最好,是不是还有漏洞,是不是效率追高   
 该数据表的并发程度比较高   
 CREATE   PROCEDURE   INSERTCLIENT   (@NAME	CHAR(100) 
 			                     @ADDRESS   CHAR(100))   
 As   
 Begin   Translate   
 if   Exists(Select   ID   From   TEST   WHERE   NAME   =   @NAME) 
 	Update   TEST 
 	SET   ADDRESS   =   @ADDRESS 
 	WHERE   NAME   =   @NAME 
 ELSE 
 	INSERT   INTO   TEST   (NAME,   ADDRESS)   VALUES   (@NAME,   @ADDRESS)   
 IF   @@ERROR    <>    0 
 BEGIN 
 	Rollback   Translate 
 	RETURN   -1 
 END 
 Else   BEGIN 
 	Commit   Translate 
 	RETURN   0 
 END     
 谢谢了
------解决方案--------------------很好
------解决方案--------------------我觉得这个好象应该是可以的;不过还有一个方法就是用触发器~~~     
 但是触发器估计没这个好~ 
------解决方案--------------------Begin Translate  ? Begin Transaction ?
------解决方案--------------------就怕发生死锁或者阻塞哦~
------解决方案--------------------呵呵,楼主有笔误? 
 TRANSACTION