假设有表A(id,name)
我想表中的数据,按顺序更新
我是这样写的:
update A set name=“张三” WHERE (id IN
(SELECT TOP 100 PERCENT id
FROM A ORDER BY id))
为什么不是按顺序更新,怎样保证按id顺序更新,谢谢!!
我想表中的数据,按顺序更新
我是这样写的:
update A set name=“张三” WHERE (id IN
(SELECT TOP 100 PERCENT id
FROM A ORDER BY id))
为什么不是按顺序更新,怎样保证按id顺序更新,谢谢!!
解决方案 »
- 问下SQL 查询的执行顺序
- 引用公式
- SQL的IF用法
- 急问一个SQL 语句的写法!!!谢谢!
- 请大能帮我优化下语句,怎么能避开子查询in,万分感谢
- 大家知道后缀名为A03的文件是什么格式吗?可以用什么软件可以打开?
- SQL SERVER 2000安装在WINDOWS2000 SERVER比较好 还是在WINDOWS 2000 ADVANCE SERVER 呢?
- nt上的db2客户端如何连接到linux上的db2数据库?有什么值得注意的吗?分可加...
- SQL server查询问题
- 困惑已久的问题:VB中的文本框和数据绑定以后,只可以新添加记录,或者修改记录,但是我想把已经赋值的记录置空就不行,各位有经验,帮我
- 请教这种二个表的连接该怎么做?
- 数据库间复制表并保留表的主键求教
create table test(id int,name char(1))
goinsert test select 3,'a'
union all select 2,'a'
union all select 4,'a'
union all select 1,'a'
union all select 5,'a'
goupdate a
set name = 'b'
from test a
where id in(
select top 3 id from test order by id
)select * from test order by id
godrop table test
go/**
1 b
2 b
3 b
4 a
5 a
**/
goinsert test
select top 200 'a' from sysobjects a,sysobjects b
goupdate test
set name = 'b'
where id in(select top 100 percent id from test order by id) --更新了200*100%=200条,如果不加percent,只更新前100条select * from test
/*
1 b
2 b
3 b
4 a
5 a
*/
drop table test
SET ROWCOUNT 100
update A set name=“张三”如果是100 PERCENT 那就:
SELECT TOP 100 PERCENT * FROM A
SET ROWCOUNT @@rowcount
update A set name='张三'