题:
我有一个脚本,其中包含来自 select 语句的大约 45,000 个插入。当我尝试运行它时,我收到一条错误消息,指出我的内存不足。我怎样才能运行这个脚本?
语境:
如果有不同的方式我应该加载这些数据,请随时批评我并让我知道。
我有一个包含原始日期和寿命的项目表。我想创建一个过程来选择需要在特定持续时间内替换的所有项目。我觉得在单个选择的 where 子句中有一种数学方法可以做到这一点。我能想到的唯一方法是迭代多年并附加将要替换的项目......这似乎超级缓慢且效率低下。我应该如何处理这个问题?
每个评论请求的详细信息:
数据库引擎: SQL Server 2005
源表:
CREATE TABLE Items
(
ID int,
ItemName varchar(255),
InstallYear int,
UsefullLife int
);
Run Code Online (Sandbox Code Playgroud)
所需的存储过程格式:
GetReplacementsWithinYearRange(startyear int, endyear int)
Run Code Online (Sandbox Code Playgroud)
期望的输出:
ItemID - ItemName - ReplaceYear
Run Code Online (Sandbox Code Playgroud)
更多细节:
样本记录:
1 item1 2010 5
2 item2 2011 6
Run Code Online (Sandbox Code Playgroud)
2010 年至 2030 年范围内的预期结果:
1 item1 2010
1 item1 2015
1 item1 2020
1 item1 2025
1 item1 2030
2 item2 2011
2 item2 2017
2 item2 2023
2 item2 2029
Run Code Online (Sandbox Code Playgroud)