2007/05/05 22:11
用过Mysql的朋友知道,删除限制行数相当简单,方法是Delete from Hx_Table Limit
10,限制10行。而MSSQL中没有Limit,因此长久以来一直以为没这功能。。。
今天在用T-SQL编写一些简单的小程序,用到了SET ROWCOUNT,确实可以用SET ROWCOUNT 数量来限制删除(Delete)或更新(Update)的行数,查看一下其文档。
建议将当前使用 SET ROWCOUNT 的 DELETE、INSERT 和 UPDATE 语句重新编写为使用 TOP 语法。有关更多信息,请参见 DELETE、INSERT 或 UPDATE。
打开Delete,页面查找top,原来需要这样使用:
E. 在 DELETE 和 SELECT 中使用 TOP 子句
由于可以在 DELETE 语句中指定 SELECT 语句,因此还可以在 SELECT 语句中使用 TOP 子句。例如,下例从 authors 表中删除前 10 个作者。
DELETE authors
FROM (SELECT TOP 10 * FROM authors) AS t1
WHERE authors.au_id = t1.au_id
Update限制行数也是同理。
10,限制10行。而MSSQL中没有Limit,因此长久以来一直以为没这功能。。。
今天在用T-SQL编写一些简单的小程序,用到了SET ROWCOUNT,确实可以用SET ROWCOUNT 数量来限制删除(Delete)或更新(Update)的行数,查看一下其文档。
引用
建议将当前使用 SET ROWCOUNT 的 DELETE、INSERT 和 UPDATE 语句重新编写为使用 TOP 语法。有关更多信息,请参见 DELETE、INSERT 或 UPDATE。
打开Delete,页面查找top,原来需要这样使用:
引用
E. 在 DELETE 和 SELECT 中使用 TOP 子句
由于可以在 DELETE 语句中指定 SELECT 语句,因此还可以在 SELECT 语句中使用 TOP 子句。例如,下例从 authors 表中删除前 10 个作者。
DELETE authors
FROM (SELECT TOP 10 * FROM authors) AS t1
WHERE authors.au_id = t1.au_id
Update限制行数也是同理。





