Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 32
1

Триггер для добавления к строке название таблицы, в которой содержится триггер

27.05.2017, 16:13. Просмотров 1720. Ответов 6
Метки нет (Все метки)

Есть таблицы База_Практик. В неё добавляю предприятие, и автоматически нужно добавить это предприятие с именем таблицы База практик в таблицу Предприятия_Практика. Как исправить такой триггер, чтобы добавить имя таблицы, и как избежать дубляжей?
CREATE TRIGGER [Добавить предприятие с им.табл]
ON [dbo].[База_Практик]
FOR INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO Предприятия_Практика (Наименование_предприятия)
SELECT Предприятие
FROM База_Практик
END
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2017, 16:13
Ответы с готовыми решениями:

Триггер для добавления к строке название таблицы, в которой содержится триггер
Есть таблицы База_Практик. В неё добавляю предприятие, и автоматически нужно добавить это...

Триггер для таблицы
Всем привет! Есть три таблицы Книга(ид_книги, год выпуска...) Автор(ид_автора, год рождения....),...

Триггер на INSERT для другой таблицы
Нужно после вставки в таблицу CheckProduct обновить данные в другой таблице Product Пишу триггер...

Разработать триггер, запускаемый при занесении новой строки в таблицу. Триггер должен увеличивать счетчик ч
Разработать триггер, запускаемый при занесении новой строки в таблицу. Триггер должен увеличивать...

6
1037 / 854 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
27.05.2017, 16:26 2
T-SQL
1
2
3
4
5
6
7
INSERT INTO Предприятия_Практика (Наименование_предприятия)
SELECT inserted .Предприятие
FROM 
  inserted LEFT JOIN Предприятия_Практика ON 
  inserted.Предприятие = Предприятия_Практика.Наименование_предприятия 
WHERE
  Предприятия_Практика.Наименование_предприятия IS NULL
Добавлено через 2 минуты
выбирать надо не из полной таблицы База_Практик, а из inserted - это только что вставленные записи, на которые и сработал триггер
1
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 32
27.05.2017, 16:34  [ТС] 3
YuryK, Спасибо! Вот только как добавить к каждому предприятию "База практик". Ни где найти не могу как такое делается
0
1037 / 854 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
27.05.2017, 16:41 4
Цитата Сообщение от Yurec2407 Посмотреть сообщение
как добавить к каждому предприятию "База практик"
не понял вопроса

Добавлено через 2 минуты
вы бы структуры этих таблиц показали и как они связаны. А то известно, что это две разные таблицы, но с одинаковыми данными
0
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 32
27.05.2017, 16:53  [ТС] 5
YuryK, Таблицы не связывал. Мне нужно так, чтобы добавил в таблицу База_практик предприятие, например "ДОНЭНЕРГО", а в таблицу Предприятия_Практика добавилось "ДОНЭНЕРГО База практик".
0
Миниатюры
Триггер для добавления к строке название таблицы, в которой содержится триггер   Триггер для добавления к строке название таблицы, в которой содержится триггер  
1037 / 854 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
27.05.2017, 16:57 6
Лучший ответ Сообщение было отмечено Yurec2407 как решение

Решение

Цитата Сообщение от Yurec2407 Посмотреть сообщение
Мне нужно так, чтобы добавил в таблицу База_практик предприятие, например "ДОНЭНЕРГО", а в таблицу Предприятия_Практика добавилось "ДОНЭНЕРГО База практик".
так гораздо понятнее

SQL
1
2
3
4
5
6
7
INSERT INTO Предприятия_Практика (Наименование_предприятия)
SELECT inserted .Предприятие + ' База практик'
FROM 
  inserted LEFT JOIN Предприятия_Практика ON 
  inserted.Предприятие + ' База практик' = Предприятия_Практика.Наименование_предприятия 
WHERE
  Предприятия_Практика.Наименование_предприятия IS NULL
1
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 32
27.05.2017, 17:04  [ТС] 7
YuryK, спасибо, заработало. Не дошло, что нужно было ещё в SELECT inserted прописать + ' База практик'
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2017, 17:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Триггер на ограничение добавления уже существующих записей
ребят мне необходимо сделать триггер который при добавлений уже существующей записи выдовал...

Создать триггер на 2 таблицы
Здравствуйте! Нужна помощь в составлении триггера или же процедуры (желательно триггера/ов) на 2...

Триггер на удаление поля таблицы
Необходимо создать триггер,который при удалении поля из таблицы Pupil удалял бы соответствующие...

Триггер на апдейт определенных столбцов таблицы
Добрый день. Есть таблица MaterialUnits. Единицы материалов Столбцы IDENTITY(0,1) NOT NULL,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.