我试图避免一次插入一条记录,所以我需要一些帮助;
以下是名为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
中Fruits
的所有记录来创建上面的表,然后插入到这个表中,我有一些外部参数(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 .
答案 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'