powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно одним запросом добавить записи сразу в две связанные таблицы?
7 сообщений из 7, страница 1 из 1
Можно одним запросом добавить записи сразу в две связанные таблицы?
    #32064519
Новичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеем таблицы T1 и T2:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
CREATE TABLE T1 (
       T1ID                 int IDENTITY,
       T1B                  bit NOT NULL
)
go
ALTER TABLE T1
       ADD PRIMARY KEY (T1ID)
go

CREATE TABLE T2 (
       T1ID                 int NOT NULL,
       T1N                  int NOT NULL
)
go
ALTER TABLE T2
       ADD PRIMARY KEY (T1ID)
go
ALTER TABLE T2
       ADD FOREIGN KEY (T1ID)
                             REFERENCES T1
                             ON DELETE CASCADE
go


Можно в них вставлять строки одним запросом?

Спасибо за ответ, даже если окажется, что нельзя.
...
Рейтинг: 0 / 0
Можно одним запросом добавить записи сразу в две связанные таблицы?
    #32064531
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нельзя, однако :)
...
Рейтинг: 0 / 0
Можно одним запросом добавить записи сразу в две связанные таблицы?
    #32064534
vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве что в тригере сделать автодобавление.
Однако, станет ли ваш код более читабельный.
...
Рейтинг: 0 / 0
Можно одним запросом добавить записи сразу в две связанные таблицы?
    #32064540
antonz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно - через обновляемые виды
...
Рейтинг: 0 / 0
Можно одним запросом добавить записи сразу в две связанные таблицы?
    #32064557
Новичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я попробовал сделать самый простой VIEW:

Код: plaintext
1.
2.
SELECT T1ID, T1B, T2N
FROM T1 INNER JOIN T2 ON T1.T1ID = T2.T1ID


Но он не получился обновляемым...

Чтобы сделать такой VIEW обновляемым обязательно писать триггеры?
...
Рейтинг: 0 / 0
Можно одним запросом добавить записи сразу в две связанные таблицы?
    #32064564
Новичок
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если не удается сделать это одним запросом, то что надо предусмотреть при программировании?

Открывать транзакцию, добавлять запись в Т1, искать в Т1 последний добавленный мною номер (или там какой-то LastID, говорят, есть), использовать этот номер при добавлении в Т2, закрывать транзакцию... Примерно так?

Пример кода хранимой процедуры, делающей INSERT этих записей, можете привести?

Спасибо.
...
Рейтинг: 0 / 0
Можно одним запросом добавить записи сразу в две связанные таблицы?
    #32064578
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
create proc InsT1
as begin
declare @ID int
begin tran
insert t1 (T1B) values(@v1)
set @ID = @@identity --это новое id вставленной записи

insert t2 (T1ID, T1N) values(@ID,@v2)
commit tran
end

Вот и все вкратце
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Можно одним запросом добавить записи сразу в две связанные таблицы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]