use*_*730 7 mysql sql-server-2008
在 MySQL 中,您可以使用名为--safe-updates
( --i-am-a-dummy
)的功能来限制每个查询更新的行数。
http://dev.mysql.com/doc/refman/5.0/en/mysql-tips.html#safe-updates
MS SQL Server 中有这样的东西吗?
vor*_*aq7 10
MS SQL 中可能有也可能没有这样的东西,但你为什么要这样呢?
已经有一种方法可以限制UPDATE
影响(WHERE
子句)的内容。
已经有一种机制可以在进行更改(事务)时保护您的数据。
将两者结合起来,我们得到了一般情况的解决方案:“在事务中进行更新,使用适当的 WHERE 子句来限制它们接触的内容,并确保在提交之前结果看起来正确”:
> BEGIN;
> UPDATE mytable SET foostring='NewValue' WHERE id > 16 AND id < 32;
15 Rows Updated
> SELECT * FROM mytable;
[Omitted -- Make sure it looks right]
> COMMIT; --- Or ROLLBACK if the SELECT doesn't look right
Run Code Online (Sandbox Code Playgroud)
如果需要,它是使用 TOP 的每个查询。
UPDATE TOP(100) Production.ProductInventory
SET Quantity = 400
WHERE Quantity < 300;
Run Code Online (Sandbox Code Playgroud)
SET ROWCOUNT对中间计数有副作用,这会产生误导性的结果,这就是它慢慢被弃用的原因。第一个 MSDN 示例演示了这个
幸运的是,SQL Server 作为一个成熟的 RDBMS 具有数据库快照和在线一致备份,可提供时间点恢复,以防您对它进行 foobar...
归档时间: |
|
查看次数: |
3084 次 |
最近记录: |