0

我想将值插入两个表中。

第一个看起来像这样

食谱

RecipeId (unique and AI)
RecipeName
Method
Discontinued

第二个看起来像这样

成分配方

RecipeUniqId (unique and AI)
RecipeId (same as the RecipeId in the Recipes table)
IngredientId 

我想插入一个RecipeName 和一个方法。如果我这样做,RecipeId 会自动递增。比我想用 RecipeId 插入三倍的成分。它适用于一种成分。

INSERT INTO Recipes (RecipeName, Method, Discontinued)
OUTPUT INSERTED.RecipeId, '5'
INTO IngredientRecipe(
    RecipeId,
    IngredientId
)

VALUES ('Potato and Chips', 'Potato and Chips bake everything', 'false');

所以我想要的是我可以添加三倍相同的 RecipeId 和不同的成分 ID。

这个怎么做?我用 sql server

编辑:

我使用带有 c# 和 N 层结构的 asp.net。我使用 sql server 数据库

4

1 回答 1

1

Declare a variable and store the value of the primary key used

declare @id int

Insert the data into Receipes table and use the SCOPE_IDENTITY function (see this for more)

 INSERT INTO Recipes (RecipeName, Method, Discontinued) VALUES (....)
 SELECT @id = SCOPE_IDENTITY

Repeatedly insert the ingredients using the value

INSERT INTO IngredientRecipe(RecipeId,  IngredientId) VALUES (@id, ...)
INSERT INTO IngredientRecipe(RecipeId,  IngredientId) VALUES (@id, ...)
...
于 2013-05-21T09:29:03.573 回答