Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/124: Рейтинг темы: голосов - 124, средняя оценка - 4.98
pers0
1

INSERT INTO несколько строк

17.05.2012, 16:08. Показов 24538. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.

Следующий код вставляет только одну первую запись, подскажите плз, как должна происходить вставка последующих строк?

T-SQL
1
INSERT INTO tblSalary (OrderID, SalaryDate, PaymentForm, SalaryType, PersonTo) SELECT ID, NOW(), 'Нал', 'Зарплата', <Manager> FROM tblOrders WHERE ID = <ID>; INSERT INTO tblSalary (OrderID, SalaryDate, PaymentForm, SalaryType, PersonTo) SELECT ID, NOW(), 'Нал', 'Зарплата', <MeteringSpe******t> FROM tblOrders WHERE ID = <ID>
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2012, 16:08
Ответы с готовыми решениями:

Insert into несколько строк из 2 таблиц
Здравствуйте, Есть таблицы: 1) Продажи: Код_операции | Код_товара 1 ...

(Insert) Несколько значений одному столбцу
Всем привет. Возможно ли вставить несколько значений одному столбцу? Например: Есть таблица...

При INSERT пропадают все переносы строк
Всем привет. Есть переменная вида SET Value1 = 'Text1 Text2 Text3' При Print все переносы...

Оптимизация insert в таблицу большого числа строк (100000 и более)
Добрый день! Задача такая - используя задачу по расписанию (vbs-скрипт) перелить из одной таблицы...

3
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
17.05.2012, 17:11 2
Очень внимательно читаем здесь:
http://msdn.microsoft.com/ru-r... 74335.aspx
У вас там кучамала... Вам нужно объяснить, что же вы хотите сделать. При этом максимально подробно.
0
pers0
17.05.2012, 17:34 3
Имеется таблица tblOrders, в ней есть поля ID, Manager, MeteringSpe******t.
Есть таблица tblSalary c полями OrderID, SalaryDate, PaymentForm, SalaryType, PersonTo.
В tblSalary в поле OrderID нужно вставить текущее значение поля ID из tblOrders, в поле SalaryDate - текущую дату, в поле PaymentForm - текст "Нал", в поле SalaryType - текст "Зарплата", в поле PersonTo - текущее значение поля Manager из tblOrders. Это должно вставляться первой строкой.
Вторая строка должна содержать те же данные, только вместо поля Manager должно вставляться значение поля MeteringSpe******t.
414 / 265 / 25
Регистрация: 03.10.2011
Сообщений: 1,094
18.05.2012, 12:56 4
Вы хотите чтобы все строки перенеслись из таблицу tblOrder в таблицу tblSalary?
Тогда нужно написать так
T-SQL
1
2
3
INSERT INTO tblSalary (OrderID, SalaryDate, PaymentForm, SalaryType, PersonTo)
SELECT ID, GETDATE(), 'Нал', 'Зарплата', Manager
     FROM tblOrder
Таким образом удастся перенести все записи из одной таблицы в другую по определенным правилам.
Вторая строка должна содержать те же данные, только вместо поля Manager должно вставляться значение поля MeteringSpe******t
.

Соответственно почти тоже самое
T-SQL
1
2
3
INSERT INTO tblSalary (OrderID, SalaryDate, PaymentForm, SalaryType, PersonTo)
SELECT ID, GETDATE(), 'Нал', 'Зарплата', MeteringSpe******t
     FROM tblOrder
Т.е. такую вставку можно сделать двумя запросами.
Если хотите выполнить оба запроса в одном скрипте, то
T-SQL
1
2
3
4
5
6
7
INSERT INTO tblSalary (OrderID, SalaryDate, PaymentForm, SalaryType, PersonTo)
SELECT ID, GETDATE(), 'Нал', 'Зарплата', Manager
     FROM tblOrder
 
INSERT INTO tblSalary (OrderID, SalaryDate, PaymentForm, SalaryType, PersonTo)
SELECT ID, GETDATE(), 'Нал', 'Зарплата', MeteringSpe******t
     FROM tblOrder
Если нужно сделать вставку только по одному заказу, то можно сделать так:
T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
DECLARE @OrderID int; --Думаю что ID у вас с типом int
SET @OrderID = <VALUE_ORDERID> --Нужно подставить код нужного заказа
 
INSERT INTO tblSalary (OrderID, SalaryDate, PaymentForm, SalaryType, PersonTo)
SELECT ID, GETDATE(), 'Нал', 'Зарплата', Manager
     FROM tblOrder
     WHERE ID = @OrderID
 
INSERT INTO tblSalary (OrderID, SalaryDate, PaymentForm, SalaryType, PersonTo)
SELECT ID, GETDATE(), 'Нал', 'Зарплата', MeteringSpe******t
     FROM tblOrder
     WHERE ID = @OrderID
2
18.05.2012, 12:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2012, 12:56
Помогаю со студенческими работами здесь

Insert в несколько строк из одной формы
помогите пожалуйста разобраться r_name - идентификатор id_map - не суть date3, date4 - даты...

Записать в файл несколько строк, а затем записать несколько строк из этого файла в другой
Заранее создать текстовый файл 1.txt и записать в него несколько строк текста. Программа должна...

Insert into и несколько select
Имеются запросы первый INSERT INTO Т1 ( А1, А2, А3 ) SELECT T2.ААА, T2.ВВВ, Sum(T2.ССС) AS ССС...

Insert в несколько таблиц
Мне нужно вставить данные в эти три таблицы, но в таблице Заказы_Услуги все поля это ключевые поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru