批量插入的SQL查询

时间:2014-12-28 22:40:29

标签: sql asp.net sql-server

我试图避免一次插入一条记录,所以我需要一些帮助;

以下是名为Foods的示例表:

ID   UniqueID       Name        Type
1     Apple101      Apple       Fruit
2     Ban 11        Banana      Fruit
3     abc 123       Carrot      Vegetable
4     xyz123        Mango       Fruit
5     bnb123        Spinach     Vegetable

现在我有另一个表名" Food Data"其中包含以下字段:

ID  UniqueID   FoodPrice    FoodExpiry

我想要做的是通过恢复表FoodsFruits的所有记录来创建上面的表,然后插入到这个表中,我有一些外部参数(FoodPrice, FoodExpiry)。最后,我需要表格Food Data,如下所示:

ID  UniqueID   FoodPrice    FoodExpiry
1   Apple101   100$         2 months
2   Ban 11     100$         2 months
3   xyz123     100$         2 months

The FoodPrice&对于给定的查询,FoodExpiry将保持不变。

在算法术语中,我需要等同于:

Select UniqueID  from Foods where Type ='Fruit' and loop all the UniqueID   
and Insert into the table food Data , i want to this in one query .

1 个答案:

答案 0 :(得分:2)

以下假设FoodData.ID是一个标识列,将自动填充。在声明参数类型时我也做了一些假设:

DECLARE
  @Price decimal(19, 4)
  , @Expiry nvarchar(50)

SET @Price = 100.00
SET @Expiry = '2 months'

INSERT INTO FoodData (UniqueID, FoodPrice, FoodExpiry)
SELECT
  UniqueID
  , @Price 
  , @Expiry
FROM Food
WHERE Type = 'Fruit'