继续求sql,需求如文中SQL.

nealwike 2009-04-29 11:46:19
数据库是sql2000
错误的语句(做需求描述):
UPDATE TOP 2 table1 SET column1='value2'
where saleserve='value1'
order by newid()

请暂不考虑:
UPDATE table1 SET column1='value2'
where saleserve='value1' WHERE 主键 IN(
SELECT TOP 2 主键 FROM table1 order by newid())
我想知道有没有其他办法.
...全文
93 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
nealwike 2009-04-29
  • 打赏
  • 举报
回复
额...
都不行哦
update 语句不能用order by 哦
ws_hgo 2009-04-29
  • 打赏
  • 举报
回复
SET ROWCOUNT 2;
ks_reny 2009-04-29
  • 打赏
  • 举报
回复
關注.
nealwike 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 happyflystone 的回复:]
SQL codeSET ROWCOUNT 2;
UPDATE table1
SET column1='value2'
where saleserve='value1'
order by newid();
SET ROWCOUNT 0;
[/Quote]
update 里面好像不能用ORDER BY
Yang_ 2009-04-29
  • 打赏
  • 举报
回复
declare @i int
set @i = 0
UPDATE table1 SET
@i = @i +1
column1= case when @i>2 then column1 else 'value2' end
where saleserve='value1'
order by newid()
水族杰纶 2009-04-29
  • 打赏
  • 举报
回复
--TRY
set rowcount 2
go
UPDATE table1 SET column1='value2'
where saleserve='value1'
go
set rowcount 0
-狙击手- 2009-04-29
  • 打赏
  • 举报
回复
SET ROWCOUNT 2;
UPDATE table1
SET column1='value2'
where saleserve='value1'
order by newid();
SET ROWCOUNT 0;
-狙击手- 2009-04-29
  • 打赏
  • 举报
回复
SET ROWCOUNT 2
go
UPDATE table1
SET column1='value2'
where saleserve='value1'
order by newid()

27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧