行锁定??? 读取的时候如何实现 多个delphi客户端同时循环访问oracle数据库上同一个表,每个客户端每次读取100条数据,读取完以后删除记录。如何使每个客户端访问到的记录不重复? 就是每个客户端每次访问到的行数据锁定 不能被别的客户端访问。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select ... for update可以把选择出的所有行锁住,其它事务在执行同样语句时会等待这个正在被执行的事务结束。不知道可不可以用来实现楼主的要求 select ... for update这种方法可以。是最强的一种锁 可我是在delphi程序里面用query来执行sql 这样写行吗? for update不行啊 for update只是说别人不能修改,还是可以看的。就是说这条记录被锁定了 别的客户端还是可以select出来 我要实现的是一条记录只能被一个客户端读取,然后删除,不能同时被多个客户端select出来 被其他人看不到。估计很难,如果要实现的话从SQL监视器中先要获得连接的用户及每个用户的SQL根据这些再分析修改某个用户提交的查询语句。 或者设置一个字段c 读取后更新表字段c为1,其他用户读取c不为1。关闭时候在更新查询过的字段c的状态为0。但是性能很差啊 >for update不行啊 for update只是说别人不能修改,还是可以看的。>就是说这条记录被锁定了 别的客户端还是可以select出来 >我要实现的是一条记录只能被一个客户端读取,然后删除,不能同时被多个客户端select出来 只要你所有的客户端都for update就行了。 其实SELECT FOR UPDATE 内部实现的机理 就是将修改选中的行以标记它们, 因此会导致磁盘写。 在软件中添加访客统计的网页代码,可行么? 有人熟悉SIM508模块和AT指令的 救命啊!!! Delphi中有没有像Photoshop那样的“历史”按钮或面板,可以撤销多步的? 有没有用PowerTCP开发过snmp 求助:怎么预览时qrlable1的caption没改变? 来看看这个 关于PACS的图象处理代码,请高手帮助阅读一下谢谢 如何通过截获消息使窗体的最大化按钮失效? 天哪!这么难的pascal竟然没人能解答,最后28份全部转让! 死里逃生,但不要责怪黄健祥,他也是一个普通球迷,同意的跟贴 怎么把四个字节的16进制的数据转成FLOAT 求一控件!!!!急!!!!
根据这些再分析修改某个用户提交的查询语句。
>就是说这条记录被锁定了 别的客户端还是可以select出来
>我要实现的是一条记录只能被一个客户端读取,然后删除,不能同时被多个客户端select出来 只要你所有的客户端都for update就行了。