私はムービーデータベースを持っていますが、このデータベースには列を含む複数のテーブルがあり、新しいムービーにリレーショナルデータを挿入しようとしています。私は、映画をデータベースに入れ、映画が物理的に配置されている特定の店舗を設定する方法を理解しようとしています。特定の映画を検索し、この特定の映画がどの店舗に在庫されているかを調べたい映画レンタルシステムを考えてみましょう。最後のIDを持つリレーショナルデータをSQL Server 2008に挿入
新しいムービーを挿入し、在庫レベルを既存の店舗IDに設定します。私はこの映画を後で検索することができ、各店舗IDで在庫レベルを読み取ることができるはずです。
これは私がこれまで試してみました、私のSQLクエリの一つであり、
BEGIN TRANSACTION
INSERT INTO [dbo].[movies]
([titel], [rating], [genre], [releasedatum],
[land], [sprak], [DVD_Bluray], [imdb_id])
VALUES
('Resident Evil 2', 4, 'Action', '2016-06-10',
'USA', 'Engelska', 'DVD', '123456987')
SELECT prodID
FROM dbo.movies
INSERT INTO dbo.lagerstatus_butiker (butiksid) VALUES (35)
COMMIT TRANSACTION
私のテーブルMovies
は、映画に関する情報が含まれ、そして各映画の主キーが自動インクリメントさprodID
で、lagerstatus_butiker
です各店舗の在庫レベル。 Butiksid
はstoreID
であり、「ブチカー」と呼ばれる別のテーブルの主キーです(スウェーデン語でのストア)。一意の主キーIDを持つ複数の店舗があります。
Movies
に新しい行を挿入すると同時に、ストックレベルのある特定のストアに属するようにするにはどうすればよいですか?
私の映画のテーブルには、次のようになります。
[titel]
[writer]
[rating]
[genre]
[prodID] <--- Primary key
[releasedatum]
[land]
[sprak]
[DVD_Bluray]
[imdb_id]
[director_id] <--- Foreign key
[butik_id] <--- Foreign key
[lagerstatus]
[actorID] <-- Foreign key
マイlagerstatus
(ストックレベル)テーブルには、次のようになります。
[butiksid] <-- Foreign key
[prodID] <-- Foreign key
[lagerstatus]
そして最後に、私のbutiker
(店舗)の表は、次のようになります。
[butik_namn]
[butiksid] <-- Primary key
[gatuadress]
[postnr]
[postort]
[telnr]
改良と変更をお気軽にご利用ください。私は努力しています。 gこれをSQL Server 2008で学ぶことができます。これは教育目的のためだけです。
ありがとうございました! :)あなたがIDENTITY
列を持つテーブルに行を挿入すると
ムービーの[butik_id]は、その意味は何ですか?また、挿入されていない理由は何ですか? – Serg
ストアドプロシージャを使用しても問題ありませんか? – tgolisch
@tgolischはい、手順を使用しても問題ありません。あなたは良い店を店に持っていますか? –