我们有 RowCount
来设置要返回或影响的记录数。但是我们每次执行sql语句之前都需要设置这个。我正在寻找一种方法来在我的应用程序启动后设置它,因此它会影响通过我的应用程序执行的所有查询。
更新
我想实现有限记录的试用版策略!我不想弄乱我的实际代码,并希望数据库以某种方式限制任何查询结果返回的记录数量!另一种方法是向每个存储过程传递一个参数,但我真的不喜欢这个,并正在寻找其他策略!
最佳答案
您可以在代码中为所有命令参数化 TOP
DECLARE @rows int
SET @row = ISNULL(@row, 2000000000)
SELECT TOP (@rows) ... FROM ..
您可以通过这种方式为所有查询全局定义 TOP,例如通过包装或扩展 SQLCommand
SET ROWCOUNT 不是一个安全的选项:它会影响中间结果集并具有其他不可预测的行为。并且在 I/U/D DML 中部分弃用并忽略它: see MSDN
Using SET ROWCOUNT will not affect DELETE, INSERT, and UPDATE statements in the next release of SQL Server
关于sql-server - SQL Server : Maximum number of records to return,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6277905/