Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подскажите как правильно написать  [new]
igor2222
Member

Откуда: Харків
Сообщений: 1233
Пишу универсальный скрипт для серверов 2000 и 2005
Скрипт должен разрегистрировать .Net сборку и связанную с ней процедуру в случае 2005.
Примерно так:
if object_id('dbo.xp_my') is not null
begin
  drop procedure [dbo].[xp_my]
  declare @script VARCHAR(100)
  set @script = 'drop ASSEMBLY [ass_my]'
  declare @version int
  SELECT @version=
  case when substring(convert(VARCHAR(2), SERVERPROPERTY ('ProductVersion')),2,1)='.' THEN
           convert(VARCHAR(1), SERVERPROPERTY ('ProductVersion')) else
           convert(VARCHAR(2), SERVERPROPERTY ('ProductVersion')) end
  if @version > 8 
    execute @script
end
В таком варианте 2005-й ругается на "не могу выполнить процедуру drop ASSEMBLY [ass_my]"
Если же напрямую написать drop ASSEMBLY [ass_my] - то 2005-й отрабатывает, а 2000-1 ругается на ключевое слово ASSEMBLY.
Как написать универсально правильно?
10 июн 09, 12:21    [7285066]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как правильно написать  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36801
execute (@script)
10 июн 09, 12:21    [7285071]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как правильно написать  [new]
igor2222
Member

Откуда: Харків
Сообщений: 1233
Гавриленко Сергей Алексеевич
execute (@script)

Спасибо.
10 июн 09, 12:26    [7285094]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить