Что я хочу сделать, это вставить диапазон дат в несколько строк для customerID = 1. У меня есть и вставьте для dbo.Customer (Dates), указав, что я хочу вставить запись в столбец Dates для моей таблицы Customer, верно? Я получаю ошибку:
Невозможно вставить значение NULL в столбец 'CustomerId', таблица 'dbo.Customers'
Извините, если я не в порядке. Я посмотрел на похожие темы, чтобы выяснить, чего мне не хватает, но я не собираю это вместе. Я думаю, что он хочет перезаписать существующий идентификатор клиента как NULL, но я не уверен, почему именно, так как я указываю dbo.Customer (Dates), а не существующий customerID для этой записи.
declare @date_Start datetime = '03/01/2011'
declare @date_End datetime = '10/30/2011'
declare @date datetime = @date_Start
while @date <= @date_End
begin
insert into dbo.Customer(Dates) select @date
if DATEPART(dd,@date) = 0
set @date = DATEADD(dd, -1, DATEADD(mm,1,@date))
else
set @date = DATEADD(dd,1,@date)
end
select * from dbo.Customer