sp_executesql к сожалению неудобно — процедура может быть изрядно здоровая и загонять всю ее в строку как то нехорошо, можно конечно таким образом сделать проверку и удаление процедуры а потом делать CREATE , но тогда всеравно имя придется писать в 2х местах т.е. что то типа
declare @a nvarchar (255)
set @a = N'MyProc'
if object_id (@a) is not NULL DROP PROCEDURE @a
begin
set @a = 'DROP PROCEDURE ' + @a
exec sp_executesql @a
end
create procedude MyProc
бла бла бла
и вот это самое "бла бла бла" божет быть довольно длинным и формировать из него строку чтобы потом sp_execuтнуть как о нехорошо...
возможео с sp_executesql можно будет както еще извернуться но я не смог пока придумать %(
Использовать внешний препроцессор я не могу — я тут не один, а остальной народ этого просто не поймет, можно конечно втихую все делать и во вне просто отдавать уже текст после препроцессина...
А sqlcmd и Setvar как я понял появились только c 2005 mssql server, я пока обречен работать с 2000 или я понял все неправильно?
Спасибо всем, кто поделился информацией буду теперь думать как поступить дальше %)