С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170

Вставка в две таблицы

21.11.2014, 12:14. Показов 3175. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
подскажите пожалуйста , не могу разобраться .
у меня есть две таблицы ,одна заявки на продукцию(содержин ИД заявки,ФИО,ИД_продукта(который находится в справочнике) ,а вторая справочник продуктов(содержит ИД продукта,сам продукт и его вид).
как написать запрос,что бы при вставки новой заявки в таблицу, записывался ИД_продукта в таблицу заявки,а сам продукт и его вид во вторую(справочник).
нужна срочно помощь.
не могу понять как это реализовать.

Добавлено через 18 минут
ID каждой таблицы идентификаторы и создаются автоматически

Добавлено через 41 минуту
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[P_UOP_zayvka]
    @UOP_zayavka INT ,
@produc nvarchar(50)
AS
BEGIN INSERT INTO S_Sprav_UOP_product(produc)
VALUES (@produc)
 
END
    BEGIN
INSERT INTO UOP_zayavka 
(S_Sprav_UOP_product)
SELECT S_Sprav_UOP_product FROM S_Sprav_UOP_product
END
что то вроде этого ,но он вставляет все поля которые есть, а мне нужно только тот который добавлен в этой процедуре

Добавлено через 1 час 14 минут
при добавлении в UOP_zayavka
остальные поля ниже
добавляется еще одна строка.
а нужно все в одну записать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2014, 12:14
Ответы с готовыми решениями:

Вставка ID из одной таблицы в другую!
Здравствуйте, подскажите пожалуйста, как вставить Id из таблицы Клиенты в таблицу договор, при том что вставка данных сразу делается и в...

Вставка нового столбца в середину таблицы
Столкнулся с проблемой при работе в "Среде Microsoft SQL Server Management Studio Express" :wall: Пытаюсь создать столбец и вставить...

Две таблицы со связью 1:1
Народ помогите сделать 2 таблицы в SQL(Visual Studio) и связь между ними 1:1. У меня 1:М выхода, а 1:1 никак

10
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
21.11.2014, 12:30
стремный способ
T-SQL
1
2
3
INSERT INTO UOP_zayavka 
(S_Sprav_UOP_product)
SELECT S_Sprav_UOP_product FROM S_Sprav_UOP_product where id=(select @@identity)
0
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
21.11.2014, 12:43  [ТС]
pincet, не получается.
все равно записывает в разные id таблицы
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
21.11.2014, 13:20
Цитата Сообщение от pincet Посмотреть сообщение
where id=(select @@identity)
этот id - внешний ключ на другую таблицу
0
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
21.11.2014, 13:52  [ТС]
pincet, вот что получилось
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[P_UOP_zayvka]
    @S_Sprav_UOP_users INT,
    --@S_Sprav_UOP_product int,
@kol_vo_tovara INT,
@S_Sprav_UOP_postavshik INT,
@S_Sprav_UOP_status INT ,
@price_wt FLOAT,
@S_Sprav_UOP_month INT,
@S_Sprav_UOP_group INT,
@S_Sprav_UOP_tip_zayavki INT,
@produc nvarchar(50)
AS
    BEGIN
INSERT INTO UOP_zayavka 
(S_Sprav_UOP_users,
kol_vo_tovara,
price_wt,
data_oformleniya,
S_Sprav_UOP_postavshik,
S_Sprav_UOP_status,
S_Sprav_UOP_month,
S_Sprav_UOP_tip_zayavki,
S_Sprav_UOP_group)
 VALUES 
(@S_Sprav_UOP_users,
@kol_vo_tovara,
@price_wt,
getdate(),
@S_Sprav_UOP_postavshik,
@S_Sprav_UOP_status,
@S_Sprav_UOP_month,
@S_Sprav_UOP_tip_zayavki,
@S_Sprav_UOP_group )
 
END
BEGIN INSERT INTO S_Sprav_UOP_product(produc)
VALUES (@produc)
END
    BEGIN
INSERT INTO UOP_zayavka 
(S_Sprav_UOP_product)
SELECT top 1 S_Sprav_UOP_product FROM S_Sprav_UOP_product
WHERE produc=@produc AND S_Sprav_UOP_product=(SELECT @@IDENTITY)
END
RETURN
Добавлено через 20 минут
но добавляет две все равно две строчки
0
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
21.11.2014, 14:22  [ТС]
вот как выходит
Миниатюры
Вставка в две таблицы  
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
21.11.2014, 14:33
вообще ничего не понимаю, что нужно сделать
как можно вставлять в заявку продукт, которого нет в справочнике?
Цитата Сообщение от Виктория1992 Посмотреть сообщение
как написать запрос,что бы при вставки новой заявки в таблицу, записывался ИД_продукта в таблицу заявки,а сам продукт и его вид во вторую(справочник).
0
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
21.11.2014, 14:46  [ТС]
pincet, он есть )
я же его вставляю
SQL
1
2
3
BEGIN INSERT INTO S_Sprav_UOP_product(produc)
VALUES (@produc)
END
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
21.11.2014, 14:48
а что будет, если в заявку попадает уже существующий материал?
Проблемы у вас не с запросом, а описанием бизнес-процессов и предметной области
0
2 / 2 / 6
Регистрация: 11.06.2013
Сообщений: 170
21.11.2014, 15:21  [ТС]
pincet, сложно ответить ))
я решила свою проблему.
просто добавила новую переменную и внесла туда значения этого Id
и записала в заявку
0
0 / 0 / 0
Регистрация: 30.10.2007
Сообщений: 17
01.12.2014, 14:46
OUTPUT уже не работает?
Примерно так.

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[P_UOP_zayvka]
@UOP_zayavka INT ,
@produc nvarchar(50)
AS
BEGIN
decalre @t table(id int)

INSERT INTO S_Sprav_UOP_product(product)
VALUES (@produc)
Output Inserted.id into @t


END
BEGIN
INSERT INTO UOP_zayavka
(id, S_Sprav_UOP_product)
SELECT (select id from @t) as id, id S_Sprav_UOP_product FROM S_Sprav_UOP_product s


END
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2014, 14:46
Помогаю со студенческими работами здесь

Как связать две таблицы
База состоит из двух таблиц Department --- id (int primary key) --- name (varchar) --- parent (int) Users --- Id ---...

Поле, ссылка на две таблицы
Есть таблица письма. У неё кроме прочего, есть два поля ид ссылки, на получателя и отправителя. Каждое поле может быть как организация...

Связать две таблицы по гуиду
Здравствуйте. Есть две таблицы, одна с пользователями. В ней есть поле GUID, при добавлении записи в нем генерируется уникальный айди вот...

Добавить данные в две таблицы
Доброго времени суток. У меня есть 2 таблицы - students и IP. В таблице students есть ID(ключ), Name, phone и т.д. В таблице IP,...

Деление одной таблицы на две
Добрый день. Нужен ваш совет. Можно ли разделить таблицу c Сотрудниками на таблицы c Продавцами и Прочими сотрудниками? Правильно ли это с...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru