У меня есть сценарий SQL, который должен запускаться каждый раз, когда клиент выполняет функцию «управления базой данных». Сценарий включает в себя создание хранимых процедур в клиентской базе данных. Некоторые из этих клиентов могут уже иметь хранимую процедуру при запуске сценария, а некоторые - нет. Мне нужно добавить отсутствующие хранимые процедуры в клиентскую базу данных, но не важно, насколько я пытаюсь изменить синтаксис T-SQL, я получаю
CREATE / ALTER PROCEDURE 'должен быть первым оператором в пакете запроса
Я прочитал об этом перед созданием работ, но мне не нравится делать это таким образом.
IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
DROP PROCEDURE MyProc
GO
CREATE PROCEDURE MyProc
...
Как добавить проверку на наличие хранимой процедуры и создать ее, если она не существует, но изменить ее, если она существует?