первого поста здесь ...Использования IF NOT EXISTS для создания функций
У меня есть несколько сценариев SQL, которые я должен вручную запускать каждый раз, чтобы создать недостающие функции и хранимые процедуры, когда я установить SSRS Reporting Suite.
В идеале я хотел бы автоматизировать это в одном фрагменте кода, поэтому смотрел инструкцию IF NOT EXIST.
Моя идея была бы ... проверить, если функция выходов, если Y перейти к следующему сценарию, если N, запустить функцию Создать сценарий затем перейти к следующему сценарию:
IF NOT EXISTS
(SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[report].[fnR_ActiveCustomers]')
AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
CREATE FUNCTION [report].[fnR_ActiveCustomers]
(... etc etc
Когда я начинаю это я получаю : «create function должна быть единственным выражением в партии».
Может ли кто-нибудь помочь мне, пожалуйста?
Благодаря Ли
Вы уверены, что это работает? – Shnugo
Да, это сработает. GO действует как разделитель пакетов, поэтому оператор Create будет находиться в отдельной партии, а также в первом операторе в пакете. –
Попробуйте ... Без DROP ниже IF в первой партии нет смысла ... – Shnugo