-1

この SQL Server の誤解が理解できません。

ご覧のとおり、Ordamount 列に挿入しようとしていますが、SQL Server のエラー メッセージに、UserID 列に null を挿入できないことが示されています。

Declare @variable1 int =( select sum(Orr.quantity *OI.Iteprice)
                          from Orderrouter Orr
                          inner join OrdItem OI on Orr.OrdItems =OI.ItemId
                          where OrdId = 1)

 insert into Ord (Ordamount)
 values (@variable1);

エラー:

メッセージ 515、レベル 16、状態 2、行 6
列 'UserID'、テーブル 'Example.dbo.Ord' に値 NULL を挿入できません。列はヌルを許可しません。INSERT は失敗します。

ステートメントは終了されました。

4

3 に答える 3

0

よりわかりやすいタイトルを使用してください。

これに加えて、Ord.UserID フィールドが初期化されていないようです。多分それは自動インクリメントではありません。

UserId 値を指定して、これを試してください。

INSERT into Ord values(<UserId value here>, @Varaible1)
于 2012-10-12T08:19:29.727 に答える