Итак, у меня есть эта таблица темп. Он имеет все заказы, которые компания должна отправить. Мне нужно как-то пройти через таблицу и вставить информацию в 3 + таблицы.Цитирование через таблицу SQL
@TempTable Table
(
OrderID Int
)
Declare @value int = (select count(orderID) from @temptable)
Declare @i int = 1
WHILE @i < @value BEGIN
Declare @orderid= (select first(orderid) from @temptable)
INSERT INTO shipment (orderid, Price, Date, DateDue)
VALUES (@orderid, @Price, @Date, @DateDue);
Set @i += 1
Delete top(1) from @temptable
END
Есть ли лучший способ сделать это?
Добавление немного больше к моему вопросу
Я везу в 3-х значений из VB.Net, что в качестве примера можно @price, @date и @ DateDue.Because этого я не был способный просто делать оператор select, вызывая смешение значений с этими переданными значениями.
Вы можете сделать это в одном запросе. –
Возможный дубликат [SQL Insert into ... values (SELECT ... FROM ...)] (http://stackoverflow.com/questions/25969/sql-insert-into-values-select-from) – APH
Нет только он неэффективен, он также потенциально неточен. У вас есть delete top 1, но у вас нет порядка. Вы также используете сначала, но функция в sql-сервере - first_value. –