teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

誤字の修正

2022/02/06 08:41

投稿

neko_the_shadow
neko_the_shadow

スコア2386

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  CHECK制約でcheckOverlappingDates関数が実行される際には、テーブルhotelはデータがINSERTされた状態になっています。つまり「hotelテーブルにデータがINSERTされる」「CHECK制約によりcheckOverlappingDatesが実行される」「CHECK制約が失敗したため、INSERTされたデータがhotelテーブルから削除される」という順番になっているわけです。よって、hotelテーブルにデータがINSERTされていることを前提にして、checkOverlappingDates関数を再設計すればよいかと思います。
2
2
 
3
- ちなみに2行目のINSERT文のroom_nbrは2になっていますが、これは1の間違いという認識でよいでしょうか? また、現在のcheckOverlappingDatesのアルゴリズムですと、次のようなユースケースはINSERTできることになりますが、大丈夫でしょうか? 「02/10~02/20の予定がある場合に、02/05~02/15の予約をINSERTする」
3
+ ちなみに2行目のINSERT文のroom_nbrは2になっていますが、これは1の間違いという認識でよいでしょうか? また、現在のcheckOverlappingDatesのアルゴリズムですと、次のようなユースケースはINSERTできることになりますが、大丈夫でしょうか? 「02/10-02/20の予定がある場合に、02/05-02/15の予約をINSERTする」