を生成し、それがこのSQL文を理解できませんか?なぜそれが私が本をSQLを勉強エラー
Create procedure sp_ErrorHandling
@SupplierID int,
@ProductID int,
@ProductName text
AS
Begin TRY
Insert into tbls_products_sp(ProductID,SupplierID,ProductName)
Values(@SupplierID,@ProductID,@ProductName)
END TRY
BEGIN CATCH
Print 'Supplier does not exist'
END CATCH
exec sp_ErrorHandling @ProductID=73,@SupplierID=11,@ProductName='Chocolate'
exec sp_ErrorHandling @ProductID=73,@SupplierID=11,@ProductName='Chocolate'
それはエラーが発生します値11とは仕入先がないので、それは言うエラー処理のために次のコードを与えています。 また、値11でsupplierIDを使用すると、エラーは発生しません。
私の質問は、INSERTステートメントを使用しているときです。既存のテーブルに新しいレコードを入力するINSERTステートメントのポイントではありません。だから私は新しいレコードの値を与える場合、エラーの代わりにテーブルに追加するべきではありませんか?
あなたは製品IDをサプライヤとサプライヤに製品 –
に挿入しています。テーブルに外来キーが存在することが必要な制約があるようです。 – Hogan