SQL Server 2005中的top运算符问题 20CSDN]

发布时间:2017-3-26 3:37:40 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"SQL Server 2005中的top运算符问题 20CSDN]",主要涉及到SQL Server 2005中的top运算符问题 20CSDN]方面的内容,对于SQL Server 2005中的top运算符问题 20CSDN]感兴趣的同学可以参考一下。

SQL2005中,Top运算符用在insert、update及delete语句中时,Top()的具体含意,是表示随机添加、修改、删除行吗? 如: delete top(3) from table_1 update top(3) table_1 set f1='abc' insert top(50) into table_1 values('...')

不是,如top(3)是当前排序下得前3条记录

也就是说是更新或删除当前表中的前3条记录,是吗?那insert top(3)如何理解?

刚才我测试了一下,发现有不对的地方 我使用pubs数据库,执行以下语句: select * from employee where lname like 'S%' update top(2) employee set fname=fname+'_XXX' where lname like 'S%' select * from employee where lname like 'S%' 首先查询出4条记录,但更新的却是结果集中的第2、第3条记录,而不是第1、第2条记录,奇怪?

没加order by , 顺序得不到保证

但加了order by 语句会出错

顶一下

与 INSERT、UPDATE 或 DELETE 一起使用的 TOP 表达式中被引用行将不按任何顺序排列。TOP n 随机返回 n 行。例如,下面的 INSERT 语句包含 ORDER BY 子句,但该子句并不影响由 INSERT 语句直接引用的行。 INSERT TOP (2) INTO Table2 (ColumnB)       SELECT ColumnA FROM Table1       ORDER BY ColumnA   前一个查询中的 ORDER BY 子句仅引用嵌套 SELECT 语句返回的行。INSERT 语句选择 SELECT 语句返回的任意两行。若要确保插入 SELECT 子查询返回的前两行,请按如下所示重写该查询。 INSERT INTO Table2 (ColumnB)       SELECT TOP (2) ColumnA FROM Table1       ORDER BY ColumnA  

用order by 可以确保

top(n)和order by 一起使用等同于 top n with ties 和order by么?

top(n) order by + 主键

上一篇:帮忙提供几个下载sql2005的网址 20xahddata]
下一篇:VC与SQLSERVER2000的紧急求助 20CSDN]

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款