Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
mihail_04
Member

Откуда:
Сообщений: 9
Привет!
У меня есть две таблицы t1 и t2. В таблице t1 два поля ID(ключ) и FIO, в таблице t2 тоже два поля ID(ключ) и ID_t1(внешний ключ на поле ID в таблице t1).
Возможно ли при добавлении записи в таблицу t1 значение id переделалось в таблицу t2 в поле ID_t1. С помощью запроса.
Спасибо!
30 апр 15, 18:44    [17588755]     Ответить | Цитировать Сообщить модератору
 Re: Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
buser
Member

Откуда: Санкт-Петербург
Сообщений: 4539
OUTPUT Clause (Transact-SQL)
30 апр 15, 19:01    [17588818]     Ответить | Цитировать Сообщить модератору
 Re: Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
mihail_04
Member

Откуда:
Сообщений: 9
Insert t1(FIO) output INSERTED.id into t2(idt1) values ('1') ну вот.
Когда в t1(FIO) вставляется запись он берет id и вставляет его в t2(idt1) но это не работает.
У меня же на t2 внешней ключ идет. На сайте написано что так нельзя. Извините если что то не правильно понял.
30 апр 15, 20:20    [17589109]     Ответить | Цитировать Сообщить модератору
 Re: Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
Gwa
Guest
mihail_04,
select @@IDENTITY
30 апр 15, 21:34    [17589345]     Ответить | Цитировать Сообщить модератору
 Re: Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
mihail_04
Member

Откуда:
Сообщений: 9
Спасибо всем! Решил вопрос, написал триггер.
30 апр 15, 23:05    [17589776]     Ответить | Цитировать Сообщить модератору
 Re: Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
mihail_04,

...везука вам...
А вот в конторе на 20+ разрабов - триггеры запрещены.
И часто, даже FK тоже...
1 май 15, 00:17    [17589919]     Ответить | Цитировать Сообщить модератору
 Re: Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
mihail_04
Member

Откуда:
Сообщений: 9
Не совсем понял про что вы, но удачи:)
1 май 15, 00:24    [17589925]     Ответить | Цитировать Сообщить модератору
 Re: Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
mihail_04,

ну хотя бы триггер как-то так:
select.... from inserted(deleted)

...а то я видел процедурный ад, где автор был уверен, что VALUES было бы достаточно...
И всё слетало при попытке что-то поправить скриптами.
1 май 15, 00:45    [17589981]     Ответить | Цитировать Сообщить модератору
 Re: Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
mihail_04,

...Я имел в виду, что триггер - это векторная штука.
А про 20+, и 50+ разрабов говорил, что триггеры учитывать в сложном проекте - почти анриал.

...Ну и да, про векторность.
Короче, имейте в виду, что на вход вашего кода в триггер придёт от нуля до бесконечности записей.
...И если вам КРИТИЧЕСКИ важно конечное время отклика системы, вне зависимости от слетевших статистик, и заскоков оптимизатора в связи с ними, , то писать надо аккуратно.
1 май 15, 01:01    [17590021]     Ответить | Цитировать Сообщить модератору
 Re: Как при добавлении в таблицу данных поле ID(индификатор) передалось в другую таблицу?  [new]
mihail_04
Member

Откуда:
Сообщений: 9
Это для курсовой работы по c# так что время мне не важно.
1 май 15, 14:38    [17591063]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить