Я пытаюсь использовать цикл while для заполнения таблицы в SQL Server. Данные должны быть с 5-часовым шагом с 8:00 до 19:00 с понедельника по пятницу.Пока цикл для заполнения таблицы
Ниже приведен код, который у меня есть на месте, когда я пытаюсь передать переменную @Beg
к @Temp
я получаю сообщение об ошибке:
Msg 102, Level 15, State 1, Line 85
Incorrect syntax near '@Temp'.Msg 102, Level 15, State 1, Line 90
Incorrect syntax near '@Beg'.
Мой код:
Create Table TIMESLOT
(
TIMESLOTID int not null identity(1,1),
Beg_Time datetime not null,
End_Time datetime not null,
TimeDayOFWeek varChar(25) not null
);
DECLARE @Beg as Time;
DECLARE @Temp as Time;
DECLARE @End as Time;
DECLARE @Day as dayofweek;
set @Beg = '08:00 AM';
Set @End = '07:00 PM';
set @Day = 'Monday';
While (@Day != 'Saturday')
Begin
While (@Beg <= @End)
Begin
@Temp = @Beg;
DateAdd(minute,5,@Temp)
Insert into TIMESLOT (Beg_Time, End_Time, TimeDay0fWeek)
Values (@Beg, @Temp, @Day)
if (@Beg <= @End)
@Beg = @Temp
Else
@Beg = '08:00 AM'
@Day = Datadd(day, 1, @Day)
End
End
End
'set @Temp = @Beg;' –
Это код SQL Server/tsql? (Далеко от ANSI SQL в любом случае ...) – jarlh