0

SQL のループに問題があります。彼が終了日に達するまで開始日をループしたい。

カーソルを使用しないように言われたので、次のような例を見つけました。

with mycte as
(
select cast('2007-01-01' as datetime) DateValue
union all
select DateValue + 1
from mycte 
where DateValue + 1 < '2030-12-31'
)
select * from mcte

これは機能するので、変数を状況に合わせて変更しました。

with View_Solidnet_Training as
(
select StartingDate as DateValue
union all
insert into OBJ_Availability values(34, DateValue + 1, 'AM', 2, 'Test')
select DateValue + 1
from View_Solidnet_Training
where DateValue + 1 < EndingDate
)
select * from View_Solidnet_Training

しかし、次のエラーが表示されます。

メッセージ 156、レベル 15、状態 1、行 5 キーワード「挿入」付近の構文が正しくありません。メッセージ 128、レベル 15、状態 1、行 5 「DateValue」という名前は、このコンテキストでは許可されていません。有効な式は、定数、定数式、および (一部のコンテキストでは) 変数です。列名は許可されていません。メッセージ 102、レベル 15、状態 1、行 9 ') 付近の構文が正しくありません

4

2 に答える 2