Когда я пытаюсь создать процедуру хранения с помощью следующего кода, я получаю ошибки.Синтаксис Ошибки при создании хранимой процедуры
create procedure Currentmonth(
@Completeddatekey varchar(20))
as
begin
Получение текущей даты и форматирования
Declare @currentdate varchar(30)
set @currentdate = convert(Varchar(20), getdate()-1, 101)
print @currentdate
Получение DayOfMonth и EndofMonth от DimDate
Declare @dayofmonth int
Declare @endofmonth varchar(20)
select @dayofmonth = DayofMonth, @endofmonth = EndofMonthDateKey from DimDate
where datekey = @currentdate
Получение HierMonthEndKey
declare @hiermonthendkey int
select @hiermonthendkey = MAX(HierMonthEndKey) from DimHospiceHiearchy
where HierMonthEndKey <= @currentdate+1
Declare @day
For Loop
Declare @i int = 0
declare @startdate varchar(20)
select @startdate = CAST(CAST(YEAR(convert(Varchar(20), getdate()-1, 101)) AS VARCHAR(4))
+ '/' + CAST(MONTH(convert(Varchar(20), getdate()-1, 101)) AS VARCHAR(2)) + '/01' AS DATETIME)+1
While @i <[email protected]
(
set @startdate = @[email protected]
Call MA010103(@completeddatekey,@hiermonthendkey)
set @i = @i+1
)
end
Я получаю эти ошибки, когда я пытаюсь создать вышеописанную процедуру магазина
Msg 156, Level 15, State 1, процедура Currentmonth, строка 34 Неправильный синтаксис рядом с ключевое слово 'set'. Msg 102, уровень 15, состояние 1, процедура Currentmonth, строка 35 Неверный синтаксис рядом с 'Call'. Msg 102, уровень 15, состояние 1, процедура Currentmonth, строка 37 Неверный синтаксис около ')'.