Avatar of sassy168
sassy168

asked on 

writing loop in stored procedure

I need some help with writing a loop in this stored procedure. How can I re-write this? i am planning to insert a new record for everyday for a whole month. thanks
CREATE PROCEDURE [dbo].[Insert_Data] AS
 
SET NOCOUNT ON
 
insert into Actual_Data values (getdate(),1, 24,0,0)
insert into Actual_Data values (getdate(),1, 25,0,0)
insert into Actual_Data values (getdate(),1, 26,0,0)
insert into Actual_Data values (getdate(),1, 27,0,0)
insert into Actual_Data values (getdate(),1, 28,0,0)
insert into Actual_Data values (getdate(),1, 29,0,0)
insert into Actual_Data values (getdate(),1, 30,0,0)
insert into Actual_Data values (getdate(),1, 31,0,0)
insert into Actual_Data values (getdate(),1, 32,0,0)
insert into Actual_Data values (getdate(),1, 33,0,0)
insert into Actual_Data values (getdate(),1, 34,0,0)
insert into Actual_Data values (getdate(),1, 35,0,0)
insert into Actual_Data values (getdate(),1, 36,0,0)
insert into Actual_Data values (getdate(),1, 37,0,0)
insert into Actual_Data values (getdate(),1, 38,0,0)
insert into Actual_Data values (getdate(),1, 39,0,0)
insert into Actual_Data values (getdate(),1, 40,0,0)
insert into Actual_Data values (getdate(),1, 41,0,0)
insert into Actual_Data values (getdate(),1, 42,0,0)
insert into Actual_Data values (getdate(),1, 43,0,0)
insert into Actual_Data values (getdate(),1, 44,0,0)
insert into Actual_Data values (getdate(),1, 45,0,0)
insert into Actual_Data values (getdate(),1, 46,0,0)
insert into Actual_Data values (getdate(),1, 47,0,0)
 
 
 
insert into Actual_Data values (getdate(),2, 24,0,0)
insert into Actual_Data values (getdate(),2, 25,0,0)
insert into Actual_Data values (getdate(),2, 26,0,0)
insert into Actual_Data values (getdate(),2, 27,0,0)
insert into Actual_Data values (getdate(),2, 28,0,0)
insert into Actual_Data values (getdate(),2, 29,0,0)
insert into Actual_Data values (getdate(),2, 30,0,0)
insert into Actual_Data values (getdate(),2, 31,0,0)
insert into Actual_Data values (getdate(),2, 32,0,0)
insert into Actual_Data values (getdate(),2, 33,0,0)
insert into Actual_Data values (getdate(),2, 34,0,0)
insert into Actual_Data values (getdate(),2, 35,0,0)
insert into Actual_Data values (getdate(),2, 36,0,0)
insert into Actual_Data values (getdate(),2, 37,0,0)
insert into Actual_Data values (getdate(),2, 38,0,0)
insert into Actual_Data values (getdate(),2, 39,0,0)
insert into Actual_Data values (getdate(),2, 40,0,0)
insert into Actual_Data values (getdate(),2, 41,0,0)
insert into Actual_Data values (getdate(),2, 42,0,0)
insert into Actual_Data values (getdate(),2, 43,0,0)
insert into Actual_Data values (getdate(),2, 44,0,0)
insert into Actual_Data values (getdate(),2, 45,0,0)
insert into Actual_Data values (getdate(),2, 46,0,0)
insert into Actual_Data values (getdate(),2, 47,0,0)
 
insert into Actual_Data values (getdate(),3, 24,0,0)
insert into Actual_Data values (getdate(),3, 25,0,0)
insert into Actual_Data values (getdate(),3, 26,0,0)
insert into Actual_Data values (getdate(),3, 27,0,0)
insert into Actual_Data values (getdate(),3, 28,0,0)
insert into Actual_Data values (getdate(),3, 29,0,0)
insert into Actual_Data values (getdate(),3, 30,0,0)
insert into Actual_Data values (getdate(),3, 31,0,0)
insert into Actual_Data values (getdate(),3, 32,0,0)
insert into Actual_Data values (getdate(),3, 33,0,0)
insert into Actual_Data values (getdate(),3, 34,0,0)
insert into Actual_Data values (getdate(),3, 35,0,0)
insert into Actual_Data values (getdate(),3, 36,0,0)
insert into Actual_Data values (getdate(),3, 37,0,0)
insert into Actual_Data values (getdate(),3, 38,0,0)
insert into Actual_Data values (getdate(),3, 39,0,0)
insert into Actual_Data values (getdate(),3, 40,0,0)
insert into Actual_Data values (getdate(),3, 41,0,0)
insert into Actual_Data values (getdate(),3, 42,0,0)
insert into Actual_Data values (getdate(),3, 43,0,0)
insert into Actual_Data values (getdate(),3, 44,0,0)
insert into Actual_Data values (getdate(),3, 45,0,0)
insert into Actual_Data values (getdate(),3, 46,0,0)
insert into Actual_Data values (getdate(),3, 47,0,0)
 
insert into Actual_Data values (getdate(),4, 24,0,0)
insert into Actual_Data values (getdate(),4, 25,0,0)
insert into Actual_Data values (getdate(),4, 26,0,0)
insert into Actual_Data values (getdate(),4, 27,0,0)
insert into Actual_Data values (getdate(),4, 28,0,0)
insert into Actual_Data values (getdate(),4, 29,0,0)
insert into Actual_Data values (getdate(),4, 30,0,0)
insert into Actual_Data values (getdate(),4, 31,0,0)
insert into Actual_Data values (getdate(),4, 32,0,0)
insert into Actual_Data values (getdate(),4, 33,0,0)
insert into Actual_Data values (getdate(),4, 34,0,0)
insert into Actual_Data values (getdate(),4, 35,0,0)
insert into Actual_Data values (getdate(),4, 36,0,0)
insert into Actual_Data values (getdate(),4, 37,0,0)
insert into Actual_Data values (getdate(),4, 38,0,0)
insert into Actual_Data values (getdate(),4, 39,0,0)
insert into Actual_Data values (getdate(),4, 40,0,0)
insert into Actual_Data values (getdate(),4, 41,0,0)
insert into Actual_Data values (getdate(),4, 42,0,0)
insert into Actual_Data values (getdate(),4, 43,0,0)
insert into Actual_Data values (getdate(),4, 44,0,0)
insert into Actual_Data values (getdate(),4, 45,0,0)
insert into Actual_Data values (getdate(),4, 46,0,0)
insert into Actual_Data values (getdate(),4, 47,0,0)
 
 
insert into Actual_Data values (getdate(), 16, 0,0,0)
insert into Actual_Data values (getdate(), 17, 0,0,0)
insert into Actual_Data values (getdate(), 18, 0,0,0)
insert into Actual_Data values (getdate(), 19, 0,0,0)
insert into Actual_Data values (getdate(), 20, 0,0,0)
insert into Actual_Data values (getdate(), 21, 0,0,0)
insert into Actual_Data values (getdate(), 22, 0,0,0)
insert into Actual_Data values (getdate(), 23, 0,0,0)
insert into Actual_Data values (getdate(), 24, 0,0,0)
 
insert into Actual_Data values (dateadd(dd, 1, getdate()), 16, 0,0,0)
insert into Actual_Data values (dateadd(dd, 1, getdate()), 17, 0,0,0)
insert into Actual_Data values (dateadd(dd, 1, getdate()), 18, 0,0,0)
insert into Actual_Data values (dateadd(dd, 1, getdate()), 19, 0,0,0)
insert into Actual_Data values (dateadd(dd, 1, getdate()), 20, 0,0,0)
insert into Actual_Data values (dateadd(dd, 1, getdate()), 21, 0,0,0)
insert into Actual_Data values (dateadd(dd, 1, getdate()), 22, 0,0,0)
insert into Actual_Data values (dateadd(dd, 1, getdate()), 23, 0,0,0)
insert into Actual_Data values (dateadd(dd, 1, getdate()), 24, 0,0,0)
 
 
insert into Actual_Data values (dateadd(dd, 2, getdate()), 16, 0,0,0)
insert into Actual_Data values (dateadd(dd, 2, getdate()), 17, 0,0,0)
insert into Actual_Data values (dateadd(dd, 2, getdate()), 18, 0,0,0)
insert into Actual_Data values (dateadd(dd, 2, getdate()), 19, 0,0,0)
insert into Actual_Data values (dateadd(dd, 2, getdate()), 20, 0,0,0)
insert into Actual_Data values (dateadd(dd, 2, getdate()), 21, 0,0,0)
insert into Actual_Data values (dateadd(dd, 2, getdate()), 22, 0,0,0)
insert into Actual_Data values (dateadd(dd, 2, getdate()), 23, 0,0,0)
insert into Actual_Data values (dateadd(dd, 2, getdate()), 24, 0,0,0)
 
insert into Actual_Data values (dateadd(dd, 3, getdate()), 16, 0,0,0)
insert into Actual_Data values (dateadd(dd, 3, getdate()), 17, 0,0,0)
insert into Actual_Data values (dateadd(dd, 3, getdate()), 18, 0,0,0)
insert into Actual_Data values (dateadd(dd, 3, getdate()), 19, 0,0,0)
insert into Actual_Data values (dateadd(dd, 3, getdate()), 20, 0,0,0)
insert into Actual_Data values (dateadd(dd, 3, getdate()), 21, 0,0,0)
insert into Actual_Data values (dateadd(dd, 3, getdate()), 22, 0,0,0)
insert into Actual_Data values (dateadd(dd, 3, getdate()), 23, 0,0,0)
insert into Actual_Data values (dateadd(dd, 3, getdate()), 24, 0,0,0)
 
insert into Actual_Data values (dateadd(dd, 4, getdate()), 16, 0,0,0)
insert into Actual_Data values (dateadd(dd, 4, getdate()), 17, 0,0,0)
insert into Actual_Data values (dateadd(dd, 4, getdate()), 18, 0,0,0)
insert into Actual_Data values (dateadd(dd, 4, getdate()), 19, 0,0,0)
insert into Actual_Data values (dateadd(dd, 4, getdate()), 20, 0,0,0)
insert into Actual_Data values (dateadd(dd, 4, getdate()), 21, 0,0,0)
insert into Actual_Data values (dateadd(dd, 4, getdate()), 22, 0,0,0)
insert into Actual_Data values (dateadd(dd, 4, getdate()), 23, 0,0,0)
insert into Actual_Data values (dateadd(dd, 4, getdate()), 24, 0,0,0)
 
 
insert into Actual_Data values (dateadd(dd, 5, getdate()), 16, 0,0,0)
insert into Actual_Data values (dateadd(dd, 5, getdate()), 17, 0,0,0)
insert into Actual_Data values (dateadd(dd, 5, getdate()), 18, 0,0,0)
insert into Actual_Data values (dateadd(dd, 5, getdate()), 19, 0,0,0)
insert into Actual_Data values (dateadd(dd, 5, getdate()), 20, 0,0,0)
insert into Actual_Data values (dateadd(dd, 5, getdate()), 21, 0,0,0)
insert into Actual_Data values (dateadd(dd, 5, getdate()), 22, 0,0,0)
insert into Actual_Data values (dateadd(dd, 5, getdate()), 23, 0,0,0)
insert into Actual_Data values (dateadd(dd, 5, getdate()), 24, 0,0,0)
 
insert into Actual_Data values (dateadd(dd, 6, getdate()), 16, 0,0,0)
insert into Actual_Data values (dateadd(dd, 6, getdate()), 17, 0,0,0)
insert into Actual_Data values (dateadd(dd, 6, getdate()), 18, 0,0,0)
insert into Actual_Data values (dateadd(dd, 6, getdate()), 19, 0,0,0)
insert into Actual_Data values (dateadd(dd, 6, getdate()), 20, 0,0,0)
insert into Actual_Data values (dateadd(dd, 6, getdate()), 21, 0,0,0)
insert into Actual_Data values (dateadd(dd, 6, getdate()), 22, 0,0,0)
insert into Actual_Data values (dateadd(dd, 6, getdate()), 23, 0,0,0)
insert into Actual_Data values (dateadd(dd, 6, getdate()), 24, 0,0,0)
 
insert into Actual_Data values (dateadd(dd, 7, getdate()), 16, 0,0,0)
insert into Actual_Data values (dateadd(dd, 7, getdate()), 17, 0,0,0)
insert into Actual_Data values (dateadd(dd, 7, getdate()), 18, 0,0,0)
insert into Actual_Data values (dateadd(dd, 7, getdate()), 19, 0,0,0)
insert into Actual_Data values (dateadd(dd, 7, getdate()), 20, 0,0,0)
insert into Actual_Data values (dateadd(dd, 7, getdate()), 21, 0,0,0)
insert into Actual_Data values (dateadd(dd, 7, getdate()), 22, 0,0,0)
insert into Actual_Data values (dateadd(dd, 7, getdate()), 23, 0,0,0)
insert into Actual_Data values (dateadd(dd, 7, getdate()), 24, 0,0,0)
GO

Open in new window

Microsoft SQL Server

Avatar of undefined
Last Comment
sassy168
ASKER CERTIFIED SOLUTION
Avatar of Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3]
Flag of Luxembourg image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of dportas
dportas

Use a calendar table:

INSERT INTO Actual_Data (...)
 SELECT c.CalDate, d.num, 0, 0, 0
 FROM Calendar c,
 (SELECT 16 UNION ALL
  SELECT 17 UNION ALL
  SELECT 18 UNION ALL
  SELECT 19 UNION ALL
  SELECT 20 UNION ALL
  SELECT 21 UNION ALL
  SELECT 22 UNION ALL
  SELECT 23 UNION ALL
  SELECT 24) d(num);

Avatar of dportas
dportas

If you want to restrict the calendar to one month then add:

WHERE CalDate >= '20080701'
 AND CalDate < '20080801'
You could create a table of sequential numbers and use that; it would eliminate looping and drastically cut the amount of code you have to write.
Avatar of sassy168
sassy168

ASKER

actually , i dont want to use calendar table. this date structure is highly custumized. I want do insert from lets say, time_id 24-47. just simple as that. I guess i can do something like this it would work?

DECLARE @start_date int
DECLARE @end_date int
SET @start_date = 24
SET @end_date = 47
 
WHILE @start_date < @end_date
BEGIN
 -- do your insert...
 insert into Actual_Data values ( @start_date, 16, 0,0,0)
 
 -- increase for the loop.
 SET @start_date = date_add(day, 1, @start_date)
END

Microsoft SQL Server
Microsoft SQL Server

Microsoft SQL Server is a suite of relational database management system (RDBMS) products providing multi-user database access functionality.SQL Server is available in multiple versions, typically identified by release year, and versions are subdivided into editions to distinguish between product functionality. Component services include integration (SSIS), reporting (SSRS), analysis (SSAS), data quality, master data, T-SQL and performance tuning.

171K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo