繁体   English   中英

批量插入的SQL查询

[英]Sql query for bulk insert

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

这是一个名为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

我想做的是通过从表Foods恢复所有记录来创建上面的表, 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

对于给定的查询,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 .

以下假定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'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM