powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS SQL Триггер не работает
3 сообщений из 3, страница 1 из 1
MS SQL Триггер не работает
    #39719307
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть две таблицы:
Код: sql
1.
2.
3.
4.
5.
TABLE [dbo].[tdCompany](
	[CompanyNo] [int] IDENTITY(1,1) NOT NULL,
	[CompanyName] [varchar](20) NULL,
	[AXDataArea] [varchar](3) NULL
) ON [PRIMARY]



и вторая таблица

Код: sql
1.
2.
3.
4.
5.
6.
TABLE [dbo].[tdCompany_Modife](
	[CompanyName] [varchar](20) NOT NULL,
	[CountRows] [int] NOT NULL,
	[TypeTransaction] [varchar](20) NOT NULL,
	[ModifeDate] [datetime] NOT NULL
) ON [PRIMARY]



Мне нужно создать триггер , который будет фиксировать момент вставки данных в таблицу tdCompany, и после успешной вставки записывать данные в таблицу tdCompany_Modife. Я написал следующий триггер , но он по какай то для меня причине не отрабатывает. Нужна Ваша помощь, так как с триггерами раньше не сталкивался

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
ALTER TRIGGER [dbo].[Ins_tdCompany]
ON [dbo].[tdCompany] AFTER INSERT
AS
BeGIN
SET NOCOUNT ON;
update tdCompany_Modife 
set CompanyName =  ii.CompanyName
, CountRows=ii.countrows
, TypeTransaction='UPDATE'
, ModifeDate=getdate()
from 
(select com.CompanyName,count(i.CompanyNo) as CountRows from tdCompany com  inner join  inserted i on i.CompanyNo=com.CompanyNo group by com.CompanyName)  ii

END
...
Рейтинг: 0 / 0
MS SQL Триггер не работает
    #39719312
WarAnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,


1. погуглите как пишутся команды update у вас там бред написан
2. а строчку в таблицу tdCompany_Modife кто будет вставлять, или вы думаете что Update ее вставит?
...
Рейтинг: 0 / 0
MS SQL Триггер не работает
    #39719325
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WarAnt,
да, Вы действительно правы, в UPDATE забыл условие where, но главное , что в моем случаи нужно делать INSERT в таблицу.
Спасибо большое за подсказку
Вот исправленный триггер, все работает

ALTER TRIGGER [dbo].[Ins_tdCompany]
ON [dbo].[tdCompany] AFTER INSERT
AS
BeGIN
SET NOCOUNT ON;
INSERT INTO [dbo].[tdCompany_Modife]
select CompanyName
, count(*) as CountRows
,'INSERT'
, GETDATE()
from inserted i
group by CompanyName

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


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