sql server 存储过程按字段开始时间结束时间间隔插入新表
时间: 2024-10-23 14:12:09 浏览: 19
在 SQL Server 中,你可以创建存储过程 (StoredProcedure) 来批量插入数据到新表,按照指定的开始时间和结束时间以及时间间隔。下面是一个基本的示例,假设我们有一个 `SourceTable` 和一个将要填充的新表 `NewTable`,并且我们要每小时插入一次数据:
```sql
CREATE PROCEDURE InsertDataIntoNewTable
@StartDate datetime,
@EndDate datetime,
@TimeInterval int -- 以分钟为单位的时间间隔
AS
BEGIN
DECLARE @CurrentDate datetime = @StartDate;
WHILE @CurrentDate <= @EndDate
BEGIN
INSERT INTO NewTable (Field1, Field2, Field3)
SELECT Field1, Field2, Field3
FROM SourceTable
WHERE Field1 BETWEEN @StartDate AND DATEADD(minute, @TimeInterval, @CurrentDate);
SET @CurrentDate = DATEADD(minute, @TimeInterval, @CurrentDate);
END;
END;
-- 调用存储过程
EXEC InsertDataIntoNewTable '2023-01-01 00:00:00', '2023-01-02 23:59:59', 60; -- 开始时间、结束时间和时间间隔
--
阅读全文