December 1, 2008 at 3:09 pm
USE [Production_Warehouse]
GO
CREATE PROCEDURE [dbo].[usp_Production_Warehouse_PopulateDate]
AS
DECLARE @id INT
DECLARE @date DATETIME
DECLARE @Startdate DATETIME
DECLARE @Enddate DATETIME
SET @Startdate ='1950-01-01'
SET @EndDate ='2100-12-31'
SET @id = 0
SET @date = DATEADD(dd, @id, @startdate)
BEGIN TRY
BEGIN TRAN
WHILE @date @Enddate
BEGIN
INSERT
INTO Date_dims
SELECT @date CalendarDate,
DATEPART(dd, @date) CalendarDayMonth,
DATEPART(dy, @date) CalendarDayYear,
DATEPART(dw, @date) CalendarDayWeek,
DATENAME(dw, @date) CalendarDayName,
LEFT(DATENAME(dw, @date),3) CalendarAbbDayName,
CASE
WHEN DATEPART(dw, @date) IN (1,7) THEN
'Y'
ELSE
'N'
END CalendarWeekday,
DATEPART(ww, @date) CalendarWeek,
'Week ' + RIGHT('0' + DATENAME(ww, @date), 2) CalendarWeekName,
DATEPART(mm, @date) CalendarMonth,
DATENAME(mm, @date) CalendarMonthName,
LEFT(DATENAME(mm, @date),3) CalendarAbbMonthName,
DATEPART(qq, @date) CalendarQuarter,
'Q' + DATENAME(qq, @date) + ' ' + DATENAME(yy, @date) CalendarQuarterName,
DATEPART(yy, @date) CalendarYear,
DATEPART(dw, @date) FiscalDayWeek,
DATEPART(yy, @date) FiscalYear,
DATEPART(mm, @date) FiscalPeriod,
DATEPART(ww, @date) FiscalWeek,
DATEPART(qq, @date) FiscalQuarter,
0 CurrentDay,
1 LoadId,
'sas' DataSource
SET @id = @id + 1
SET @date = DATEADD(dd, @id, @startdate)
END
COMMIT TRAN
END
TRY
BEGIN CATCH
ROLLBACK TRAN
END CATCH
Error Message:
Msg 102, Level 15, State 1, Procedure usp_Production_Warehouse_PopulateDate, Line 13
Incorrect syntax near '@Enddate'.
Please help me where i am going wrong
December 1, 2008 at 3:35 pm
Your problem is right here: WHILE @date @Enddate
December 1, 2008 at 3:37 pm
Hi..,
Can You Tell me what is the problem and how can i fix that
December 1, 2008 at 3:42 pm
Probably need it to look like this: WHILE @date <= @Enddate
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply