这是the query 我觉得很有用(当然修改后):
DECLARE @numberofitemsperpage INT DECLARE @numberofpages INT DECLARE @currentpage int
DECLARE @countRecords float SET @countRecords = (Select COUNT(*) From
sz_hold_visitsData)
-- Excel 一次可以保存大约一百万条记录。如果@countRecords >= 1000000 SET @numberofitemsperpage = 500000 ELSE IF
@countRecords = 500000 设置
@numberofitemsperpage = 250000 ELSE IF @countRecords = 100000 设置 @numberofitemsperpage = 50000 其他设置
@numberofitemsperpage = 10000
DECLARE @numberofpages_deci float SET @numberofpages_deci =
@countRecords / @numberofitemsperpage
SET @numberofpages = CEILING(@numberofpages_deci) 选择
@countRecords AS countRecords, @numberofitemsperpage AS
numberofitemsperpage , @numberofpages_deci AS numberofpages_deci,
@numberofpages AS numberofpagesFnl
SET @currentpage =0 WHILE @currentpage = @currentpage *
@numberofitemsperpage +1 AND Row
如果@@ROWCOUNT = 0 BREAK SET @currentpage = @currentpage +1 END
在此摘录中,“sz_hold_visitsData”是我数据库中的一个表,而“person_ID”是其中的一个列。
您还可以进一步修改脚本以输出到文件:
声明 @numberofitemsperpage INT DECLARE @numberofpages INT DECLARE
@currentpage int
DECLARE @countRecords float SET @countRecords = (Select COUNT(*) From
sz_hold_visitsData)
-- Excel 一次可以保存大约一百万条记录。如果@countRecords >= 1000000 SET @numberofitemsperpage = 500000 ELSE IF
@countRecords = 500000 设置
@numberofitemsperpage = 250000 ELSE IF @countRecords = 100000 设置 @numberofitemsperpage = 50000 其他设置
@numberofitemsperpage = 10000
DECLARE @numberofpages_deci float SET @numberofpages_deci =
@countRecords / @numberofitemsperpage
SET @numberofpages = CEILING(@numberofpages_deci) 选择
@countRecords AS countRecords, @numberofitemsperpage AS
numberofitemsperpage , @numberofpages_deci AS numberofpages_deci,
@numberofpages AS numberofpagesFnl
DECLARE @sevrName nvarchar(50) SET @sevrName = '.\sql14' 声明
@outputFile nvarchar(500)
SET @currentpage =0 WHILE @currentpage = @currentpage *
@numberofitemsperpage +1 AND Row
声明@cmd_varchar(500) = 'sqlcmd -S' + @sevrName + ' -E -Q
"SELECT a.* FROM (SELECT row_number() OVER (ORDER BY person_ID) AS
ROW, * FROM sz_hold_visitsData) WHERE ROW >= '+
CONVERT(nvarchar(500),@currentpage * @numberofitemsperpage +1) +' AND
行
如果@@ROWCOUNT = 0 BREAK SET @currentpage = @currentpage +1 END
希望有所帮助。