私がしようとしているのは、@ReservationID
という変数を宣言し、特定の条件が存在するReservationテーブルの値に初期化し、その値をパラメータとして使用して新しいFolioを挿入することですテーブルエントリ。 Folioテーブルを印刷すると、新しいテーブルエントリは存在しません。私はSELECT
ステートメントをチェックして実行し、条件に基づいて正しい値が表示されます。変数を正しく初期化または渡していませんか?私はここで何が欠けていますか?どんな助けもありがとう。INSERT INTO値としてのSQL変数
DECLARE @ReservationID smallint;
SET @ReservationID = (SELECT ReservationID FROM Reservation WHERE ReservationDate = CONVERT(varchar, GETDATE()) AND CreditCardID = 1)
SET IDENTITY_INSERT Folio OFF
INSERT INTO Folio (ReservationID, GuestID, RoomID, QuotedRate, CheckinDate, Nights, Status, Comments, DiscountID)
VALUES(@ReservationID, 500, 20, 35.50, '07/24/2016', 3, 'R', NULL, 1);
ではありませんか? – niksofteng
コードが正しいように見えます。 @ReservationIDの要件はサブクエリが1つの値だけを返さなければならないということです(これにはtop(1)を使用できます)。 'ReservationID'はIDENTITYカラムですか? –