设为首页收藏本站

Scripts 学盟

 找回密码
 加入学盟

QQ登录

只需一步,快速开始

查看: 2733|回复: 10
打印 上一主题 下一主题

@@IDENTITY 怎么防止并发? [复制链接]

Rank: 2

跳转到指定楼层
1#
嘟嘟 发表于 2011-7-16 10:40:03 |只看该作者 |倒序浏览
@@IDENTITY   返回最后一个标识值 但是 有多个人操作一张表 怎么防止并发?高手赐教有没有别的防止并发的全局变量?
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0
哈哈哈大笑三声!

Rank: 8Rank: 8

2#
那个谁 发表于 2011-7-16 11:09:17 |只看该作者
小量并发可以用存取过程处理。

使用道具 举报

Rank: 2

3#
嘟嘟 发表于 2011-7-16 12:03:08 |只看该作者
那个谁 发表于 2011-7-16 11:09
小量并发可以用存取过程处理。

可不可以把这张表锁上  然后 解锁?
假如 我向 A 表插入一条数据    另一个人向B表插入一条数据  那返回的是  哪个表的?
哈哈哈大笑三声!

使用道具 举报

Rank: 2

4#
嘟嘟 发表于 2011-7-16 12:09:10 |只看该作者
嘟嘟 发表于 2011-7-16 12:03
可不可以把这张表锁上  然后 解锁?
假如 我向 A 表插入一条数据    另一个人向B表插入一条数据  那返回 ...

sql server 2000中,有三个比较类似的功能:他们分别是:scope_identity、ident_current 和 @@identity,它们都返回插入到 identity 列中的值。

ident_current 返回为任何会话和任何作用域中的特定表最后生成的标识值。ident_current 不受作用域和会话的限制,而受限于指定的表。ident_current 返回为任何会话和作用域中的特定表所生成的值。
@@identity 返回为当前会话的所有作用域中的任何表最后生成的标识值。
scope_identity 返回为当前会话和当前作用域中的任何表最后生成的标识值

scope_identity 和 @@identity 返回在当前会话中的任何表内所生成的最后一个标识值。但是,scope_identity 只返回插入到当前作用域中的值;@@identity 不受限于特定的作用域。

哈哈哈大笑三声!

使用道具 举报

管理员

超级大菜鸟

Rank: 9Rank: 9Rank: 9

5#
混混@普宁.中国 实名认证  发表于 2011-7-16 13:12:14 |只看该作者
在ado编程中。。。。

@@IDENTITY 是被 Connection 对象维护。。。, 只要你的 Connection对象不被多个线程同时使用。。就可以了

使用道具 举报

Rank: 6Rank: 6

6#
Yisin 发表于 2011-7-18 07:50:34 来自手机 |只看该作者
以前不知道 现在知道咯
路不好走,你却依旧满眼的爱,找不到理由...

使用道具 举报

Rank: 2

7#
嘟嘟 发表于 2011-7-18 08:26:11 |只看该作者
混混@普宁.中国 发表于 2011-7-16 13:12
在ado编程中。。。。

@@IDENTITY 是被 Connection 对象维护。。。, 只要你的 Connection对象不被多个线 ...

可是 我数据库 有触发器 怎么办?
哈哈哈大笑三声!

使用道具 举报

Rank: 8Rank: 8

8#
那个谁 发表于 2011-7-18 08:50:34 |只看该作者
那就加锁了。每次只执行一个。

使用道具 举报

管理员

超级大菜鸟

Rank: 9Rank: 9Rank: 9

9#
混混@普宁.中国 实名认证  发表于 2011-7-18 09:00:20 |只看该作者
SELECT SCOPE_IDENTITY()

使用道具 举报

Rank: 7Rank: 7Rank: 7

10#
奔波儿灞 发表于 2011-7-22 09:08:40 |只看该作者
我菜鸟也说一句  之前我也有碰到类似这个问题  我是这样的  例如  第一个人插入值的时候顺便插入一个随机数   后面的插入就可以通过这个随机数取标识值    两个人同时插入的时候取的随机数不一样 就解决了  
1

查看全部评分

使用道具 举报

您需要登录后才可以回帖 登录 | 加入学盟

手机版|Scripts 学盟   |

GMT+8, 2024-4-30 04:10 , Processed in 1.077497 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部