2017-02-22 3 views
-2

Я не могу понять, как решить следующую ошибку:Sql Server Сообщ 2110

Msg 2110, Level 15, State 1, Procedure store, Line 113 Cannot alter trigger 'store_10' on 'Users' because this trigger does not belong to this object. Specify the correct trigger name or the correct target object name.

выше триггер был создан, используя следующий синтаксис (и не тзд ошибка не генерируется):

Alter trigger store_10 ON Users FOR UPDATE 
+0

Что сбивает с толку сообщение об ошибке? Сообщение довольно ясно: 'Пользователи 'не имеют триггера с именем' store_10'. Вы не можете «ALTER» чего-то, чего не существует. – Siyual

+0

Вещи часто путаются, если в какой-то момент в прошлом существовал 'sp_rename' на одном или обоих объектах. –

+0

Благодарим вас за ответы. Как я уже говорил, я создал триггер и не генерировал сообщение об ошибке. Но я не могу увидеть созданный триггер в триггерной папке таблицы «Пользователи». CREATE TRIGGER store_10 на пользователей FOR UPDATE AS Begin Select * из удаляемого Select * от вставленной End GO – Cool

ответ

0

вы можете запустить этот запрос, чтобы узнать, что вызывает у вас назначены какие таблицы в базе данных:

SELECT 
    T.name AS [Trigger Name] 
    ,O.name AS [Table Name] 
FROM sys.[triggers] T 
INNER JOIN sys.[Objects] O 
    ON O.[object_id] = T.[parent_id] 
; 

это может дать вам некоторые Indica где все происходит.

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

Как только у вас есть эта информация, вы сможете выяснить, в чем проблема.

Первое редактирование:

Можете ли вы попробуйте запустить этот запрос, чтобы получить определение триггера и отправить результат в качестве редактирования на свой вопрос, пожалуйста?

EXECUTE sys.sp_helptext 'store_10'; 
+0

Это работает. Я вижу триггеры, которые я создал в таблице результатов. Но я все еще не вижу их в объектном проводнике. – Cool

Смежные вопросы