gpt4 book ai didi

sql - 将具有最后一个 ID 的关系数据插入 SQL Server 2008

转载 作者:搜寻专家 更新时间:2023-10-30 22:35:34 25 4
gpt4 key购买 nike

我有一个电影数据库,这个数据库包含几个带有列的表,我正在尝试插入带有关系数据的新电影。我想弄清楚如何将电影放入数据库,并设置电影实际所在的特定商店。想一想电影租赁系统,您想在其中搜索特定的电影并查找哪些商店有这部电影的存货。

我想插入一部新电影,并将库存水平设置为现有商店 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 包含有关电影的信息,每部电影的主键是自动递增的 prodIDlagerstatus_butiker 是 stocklevel对于每个商店。 ButiksidstoreID 并且是名为“butiker”(瑞典语中的商店)的单独表中的主键。我有多家商店,具有唯一的主键 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]

请随意提出改进和更改建议,我正尝试在 SQL Server 2008 中学习这一点。这仅用于教育目的。

谢谢! :)

最佳答案

当您向具有 IDENTITY 列的表中插入一行时,您可以像这样获取新创建的标识值:

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')

DECLARE @NewID INT

-- get newly created ID
SELECT @NewID = SCOPE_IDENTITY();

现在您可以使用该 ID 来填充其他表格:

INSERT INTO dbo.lagerstatus_butiker (butiksid) VALUES (@NewID)

COMMIT TRANSACTION

关于sql - 将具有最后一个 ID 的关系数据插入 SQL Server 2008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37880519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com