Прежде чем вы выговорете мне о том, как здесь было задано: ', я хотел бы указать, что я действительно google. В некоторых случаях я даже пошел на страницу 3. вздрагиваетSMSS 'Недопустимое имя столбца'
Так вот дело: Я пытаюсь провести аудит базы данных у нас есть, установка триггеров для UPDATE
, INSERT
, DELETE
заявления для нескольких таблиц. Триггеры создаются и связаны успешно. Каждый триггер выполняет хранимую процедуру, которая вставляет необходимые данные в нашу таблицу tick_audit.
Информация:
- USER_ACCOUNT; для хранения кто: ничего не изменил
- client_id; для хранения данных клиента изменились данные
- date_time; дата редактирования
- table_name; имя таблицы, которая была изменена
- table_record_id; the id записей, которые были изменены
- descr; описание почему что-то было изменено
- remote_ip_address; поэтому мы можем следить, где что-то изменилось (внутренние или внешние)
В таблице также имеет primary_key, AUTO_INCREMENT идентификатор поля.
Когда я пытаюсь создать хранимую-процедуру
create procedure update_tick_user
@UserId varchar(32),
@ClientId varchar(32),
@Table varchar(64),
@TableRecord varchar(512),
@Descr varchar(128),
@RemoteIP varchar(16)
as
begin
insert into tick_audit ('user_account', 'client_id', 'date_time', 'table_name', 'table_record_id', 'descr', 'remote_ip_address')
values
(@UserId, @ClientId, getdate(), @Table, @TableRecord, @Descr, @RemoteIP)
end;
Я получаю следующее сообщение об ошибке (ы):
Msg 207, уровень 16, состояние 1, процедура update_tick_user, линия 10 Недопустимое имя столбца 'user_account'.
Это повторяется для каждого столбца. Когда я бегу
exec sp_columns tick_audit
Я получаю все столбцы из tick_audit, и даже копировать их имена в колонку полей для вставки, я получаю вышеупомянутые ошибки. Я даже получаю ошибки, когда я просто запустить
insert into tick_audit
('user_account', 'client_id', 'date_time', 'table_name', 'table_record_id', 'descr', 'remote_ip_address')
values
('', '', getdate(), '', '', '', '')
Всякий раз, когда я попробовать вставки, обновления или удаления на другую таблицу, я не получаю никаких ошибок. Есть ли что-нибудь, что я мог бы попытаться выяснить, есть ли ошибка в моем столе или какой-то сверхсекретный метод hocus-pocus, ритуал-эск?
Вот что я пытался до сих пор:
- Отбросьте стол (На моих ногах, много много раз), воссоздать его.
- Google в течение трех часов
- Задаваемые мои сотрудники
- надевают мыслительной колпачок
- Проверьте колонки на самом деле существует (через Exec, выберите)
Пересечение моих пальцев и надеясь, что кто-то может Помоги мне.
Я так сильно дергался. Я пропустил, что SQL-редакторы не нуждаются в одиночных кавычках. Использование слишком большого количества SQL в Notepad ++, Eclipse и т. Д. Маленькие вещи .. – Zubaja