各位大侠好,问题是这样的,我程序先用了select top 500 * from biaoA
然后把这些数据逐条导出到另外一个表中,然后用update biaoA set ziduanA='1' where ziduanB in (select top 500 ziduanB from biaoA )
问题是我两次取出来的前500条不相同,,请问为什么??
在运行这个程序的同时,有其他程序时时访问这个表。有可能有插入操作。
请问有什么好的解决办法吗?
然后把这些数据逐条导出到另外一个表中,然后用update biaoA set ziduanA='1' where ziduanB in (select top 500 ziduanB from biaoA )
问题是我两次取出来的前500条不相同,,请问为什么??
在运行这个程序的同时,有其他程序时时访问这个表。有可能有插入操作。
请问有什么好的解决办法吗?
解决方案 »
- 签名存储过程中的一个权限问题
- 如何从int型convert到datetime类型?
- 现有一个结果集(经过一系列的查询\汇总得到的记录集),我想对这个结果集再次进行汇总,请问大家怎么写比较好呢?
- 昨天求的SQL语句好象都不行,请大家再帮忙看看,谢谢
- 存储过程访问ODBC问题
- 如何将日期类型的数据转换成字符串类型?
- MSSQL2000中分组查询.如下.请教高手
- sql server2005企业版配置问题~ 急!!
- 请问sql语句
- ADO用连接对象执行SQL语句出现 IDispatch error #3092 错误是什么意思呢?
- 高手帮忙,多表关联的存贮过程问题
- 存储过程中 如何使用 另外一个存储过程返回的记录集
SET ROWCOUNT 500
update biaoA set ziduanA='1'
SET ROWCOUNT 0
commit tran
然后把这些数据逐条导出到另外一个表中,--如果另一个表已经存在
insert into tableother(...)
select top 500 * from biaoA --如果另一个表不存在
select top 500 * into tableother from biaoA --更新
update biaoA
set ziduanA='1' where ziduanB in (select ziduanB from tableother )
begin tran
select top 500 ziduanB into #tmp from biaoA with(xlock)
....
commit