2014-12-28 3 views
0

Я стараюсь избегать установки одной записи за раз, поэтому мне нужна помощь;Запрос Sql для массовой вставки

Вот пример таблицы с именем 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 

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 . 

ответ

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' 
+0

Спасибо, я дам ему попробовать прямо сейчас :) – confusedMind

+0

Привет, Просто протестировали запрос не побежал ошибок нет, но ничто не вставляется в таблицу? – confusedMind

+0

Пара вещей - я только что заметил в вашем описании таблицы FoodData, один столбец называется «Food.ID» - имя столбца действительно имеет точку в нем? Если это так, вам нужно будет поменять вставку на INSERT INTO FoodData ([Food.ID], FoodPrice, FoodExpiry), и, чтобы быть реальным, вы можете изменить третью строку на FoodID как [Food.ID] –

Смежные вопросы