В настоящее время я работаю над обновлением уже существующей таблицы в базе данных моей компании. Соединение работает нормально, но мой запрос вызывает головную боль.
Что я хочу сделать: ведение журнала с 2 таблицами (Job-Table и Step-Table)
, поэтому я создал собственный PowerShell объект со всей необходимой информацией, которую я могу передать. Когда я начинаю запись в журнал, я создаю новую запись в Таблице заданий, в которой один столбец пуст / пуст (время окончания записи в журнал: имя столбца: остановка). После того, как я вошел в свой сценарий, я хочу добавить время окончания (к уже существующей записи в Таблице заданий).
Я знаю, что есть разные способы проверить, находитесь ли вы в начале или в конце задание ведения журнала, но я хочу сделать это с помощью Sql Query, поэтому я пришел к следующему утверждению SQL -Insert:
Begin
IF NOT EXISTS(Select * FROM job.table
WHERE JobId = @JobId)
BEGIN
INSERT INTO logg.Job (Module,JobId,ScriptId,Filepath,Start,Status,Stop,Infotext)
Values(@Module,@JobId,@ScriptId,@Filepath,@Start,@Status,@Stop,@Infotext)
END
ELSE
BEGIN
INSERT INTO logg.Job(Stop)
VALUES (@Stop)
WHERE( JobId = @JobId)
END
END
Я почти уверен, что мне чего-то не хватает '; ' но все мои попытки и ошибки не привели меня к решению ...
По сути, я хочу проверить, есть ли запись в файле job.table с моим текущим идентификатором работы. Если нет, я запускаю новое задание регистрации и хочу вставить все имеющиеся значения. Если есть запись с идентификатором задания, я могу быть уверен (мой код, мой путь), что я хочу остановить задание регистрации и, следовательно, просто нужно обновить значение «Стоп» (время окончания).
Если Я использую более простые запросы, такие как:
INSERT INTO job.Table (Module,JobId,ScriptId,Filepath,Start,Status,Stop,Infotext)
Values(@Module,@JobId,@ScriptId,@Filepath,@Start,@Status,@Stop,@Infotext)
Я получаю свои значения, как требуется, в БД, поэтому ошибки подключения и типа данных уже устранены.
Где мои ошибки синтаксиса? По моей IDE "около ГДЕ" ...