现在用Sqlserver和Delphi开发了一个应用程序,有多个客户端直接连接数据库。 当多个用户同时录入数据的时候,要求各个客户端能够互斥。 不知道存储过程怎么写,sqlserver 有什么机制可以实现这个功能。
解决方案 »
- 创建表时提示:指定的架构名称 "dbo" 不存在,或者您没有使用该名称的权限
- 按核销单号小结
- 散分!请教高手,,数据检索的问题。。。。。。。
- SQL 2000 DTS 包迁移到2005 SSIS
- Syntax error converting the varchar value 'null' to a column of data type int.为什么会出现这样的错误?
- 如何查看当前哪个表出现了死锁?(我给100分)
- 合并记录集问题在线等待~~
- 求助!这个SQL怎么写
- 如何对数据库进行-行锁
- sql server 显示可用空间为0 请教各位大人 (急 )
- sql如何创建一整套数据表
- INNER REMOTE JOIN问题
互斥, 比如一个人录入单据, 另一个在进行结算处理。 显然两个工作不能同时进行的。并且不能有两个客户端在同时进行结算处理,这些怎么在Sqlserver上进行处理呢?另外,插入记录的时候, 现在使用 SCOPE_IDENTITY() 在存储过程中返回ID值的,不知道多个客户端调用会不会引起混乱。
2、插入记录的时候, 现在使用 SCOPE_IDENTITY() 在存储过程中返回ID值的做法没有问题,SCOPE_IDENTITY()返回本连接本表的最后ID。
看楼主这样说,关于这个表的处理的SQL语句貌似都要加表级锁了对于SCOPE_IDENTITY(),作用域是当前会话,不用担心你说的那种问题。
update S_ProcList with(updlock) set [flag]=1 where ProcName = 'sp_OrderItem'不知道这句话有什么用途
更新时加with(updlock),即读取表时加更新锁(写锁),而不是加共享锁(读锁)