У меня есть триггер SQL Server INSTEAD OF INSERT
, который заполняет значения в моей таблице. Но когда я бегу оператор вставки, я получаю ошибку, чтоТриггер SQL Server: недопустимое имя объекта «вставлено» в чувствительной к регистру базе данных
Недопустимое имя объекта «вставленный»
Теперь моя сверка базы данных установлено, чтобы быть чувствительны к регистру, поэтому я не уверен, является ли причина «вставлена» является причиной, но я попытался вставлен, INSERTED и Inserted.
Мой триггер взгляд что-то вроде:
CREATE TRIGGER UpdateID
ON Personnel
INSTEAD OF INSERT
AS
BEGIN
DECLARE @SQL nvarchar(4000)
DECLARE @NewID int = 100 --Will be auto generated
SET @SQL = 'INSERT INTO Personnel (AutoID, Firstname, Surname)
SELECT ' + CAST(@NewID AS nvarchar) + ', Firstname, Surname
FROM inserted'
EXECUTE (@SQL)
END
Почему вы используете динамический SQL - это кажется ненужным здесь. –
Не только необязательно, но и причина ошибки ... – petelids
Почему вы вставляете запись в таблицу «Персонал» на ту же триггер таблицы? Это создаст рекурсию. – Shell