@_@ 没有吧,你可以再程序里,写个判断阿,if(1.id=1)....

解决方案 »

  1.   

    个人理解
    是循环排序(不知道用什么词描述)还是先到先得
    解释一下,
    循环排序有10条记录编号为1、2、3、4、5、……10,现在有五个人A、B、C、D、E,
    1、6对应A,2、7对应B……
    建立数据库中加入字段,更具人的编号插入当前记录先到先得 有10条记录编号为1、2、3、4、5、……10,现在有五个人A、B、C、D、E,
    当A打开了1记录,其他的人都不能对1记录进行修改等操作……
    使用锁机制来锁定纪律,或者添加标志位来控制记录
      

  2.   

    思想是有一个:1,建立一个会话时间表A(A表ID,表名,登录ID,开始时间)
    2,建立查询行标记表B(A表ID,表主键) 当用户提交查询SQL语句时候,加个WHERE条件
    (如:
    WHERE ... AND NOT EXISTS(SELECT 1 FROM B表 INNER JOIN A表 ON 
      ON A表.A表ID=B表.A表ID AND B表.主键=[所查询表名].表主键))
    ,用于过滤已经查询的行。根据会话时间间隔,定期删除会话时间表A和表B的内容。
      

  3.   

    漏了一点:
    WHERE ... AND NOT EXISTS(SELECT 1 FROM B表 INNER JOIN A表 ON 
      ON A表.A表ID=B表.A表ID AND A表.表名=N'所查询表名' AND B表.主键=[所查询表名].表主键)
      

  4.   

    看样子还是加flag合适,不知道怎么锁定更新
      

  5.   

    加一个字段,作为标识~~~
    默认为0,
    每次读取时都带着where 标识=0
    而在读取时就改为 标识=1即正在用的 标识=1读取时 Select min(id) From table where 标识=0 and ....
      

  6.   

    模拟第1个用户
    -- 查询窗口发出下面的查询语句
    BEGIN TRAN   -- 事务不提交或者回滚, 以保持锁不释放
    SET ROWCOUNT 1
    SELECT * 
    FROM tb WITH(UPDLOCK, READPAST)
            -- UPDLOCK 让锁保留到事务结束, READPAST 跳过已经锁定的数据 模拟第2个用户(语句与第1个用户一样,只是在另一个连接中执行)
    -- 查询窗口发出下面的查询语句
    BEGIN TRAN
            -- 事务不提交或者回滚, 以保持锁不释放
    SET ROWCOUNT 1
    SELECT * 
    FROM tb WITH(UPDLOCK, READPAST)
            -- UPDLOCK 让锁保留到事务结束, READPAST 跳过已经锁定的数据第一个用户取过的数据,在第二个用户查询时就不会显示
      

  7.   

    1.-----
    支持ddqqyy的做法,建立一个全局键值表。
    Create Table Global_Key ( 
    Id int identity not null,
    User varchar(100) not null ,
    flag int not null default 0 , -- 0表示未处理,1表示已处理
    constraint pk_global_key primary key Global_key(id))2.-----
    insert into global_key ( user) values ('A') --例A用户开始操作
    select id from global_key where user = 'A' and flag = 0 --得到要操作的id 
    ...... --进行业务操作
    update global_key set flag = 1 where user = 'A' and flag = 0 --结束本次操作B用户按上面的步骤,由于global_key表中的id是自增长的,就不会有冲突了3.-----
    当然这里面还有要改进的地方,比如一个用户处理过程中出错了怎么办,是由该用户继续再处理一次,还是就跳过了! 具体问题要具体分析
      

  8.   

    1、修改数据库结构增加字段,标识位!
    2、使用锁,with lock!