ALTER PROCEDURE не работает

losaped
Дата: 14.06.2011 14:14:21
Добрый день
Есть код
------
------
if что-то
begin
сделать то-то
сделать то-то
end

ALTER PROCEDURE procname as
select
бла,бла,бла
from table

проблема в том, что если гоню весь скрипт целиком, то вываливается ошибка: Incorrect syntax near the keyword 'PROCEDURE'
если выделяю только текст процедуры, то она нормально выполняется.
Подскажите в чем засада?
Ken@t
Дата: 14.06.2011 14:22:59
Albatross
Дата: 14.06.2011 14:30:36
losaped,

перед Alter нужно поставить GO
iap
Дата: 14.06.2011 14:41:51
Albatross
losaped,

перед Alter нужно поставить GO
Сомнительное утверждение.
Это смотря какой клиент будет слать скрипт серверу на выполнение...
Albatross
Дата: 14.06.2011 14:46:53
iap,

согласен, да
losaped
Дата: 14.06.2011 14:47:16
Albatross
losaped,

перед Alter нужно поставить GO

Ставил GO, Но тогда ругается, что некорректный синтаксис рядом с END, который выше
Сейчас уточню код:

declare @script int
set @script=1

IF EXISTS (SELECT * FROM SCRIPT_HISTORY
				WHERE SERIAL = @script)
    PRINT '!!!!Этот скрипт уже выполнен!!!!'	
ELSE
BEGIN
    if что-то
    begin 
        сделать то-то
        сделать то-то
    end

    ALTER PROCEDURE procname as
    select
    бла,бла,бла
    from table
END
может go нельзя поставить из-за того, что этот код находится внутри BEGIN\END?
Выполняется просто из студии.
Если кто-то понял смысл может подскажете как лучше осуществить задумку?
Ken@t
Дата: 14.06.2011 14:50:12
losaped,

Я фигею, Клава, в вашем ресторане.

Инструкцию ALTER PROCEDURE нельзя объединять с другими инструкциями Transact-SQL в одном пакете.
tpg
Дата: 14.06.2011 14:52:23
losaped
...Если кто-то понял смысл может подскажете как лучше осуществить задумку?
Нельзя в одном батче писать ALTER и ещё что-то...
Включите свой ALTER в динамику.
losaped
Дата: 14.06.2011 14:57:36
tpg
losaped
...Если кто-то понял смысл может подскажете как лучше осуществить задумку?
Нельзя в одном батче писать ALTER и ещё что-то...
Включите свой ALTER в динамику.

Что значит в динамику? Объясните глупому
tpg
Дата: 14.06.2011 15:00:35
losaped
tpg
пропущено...
Нельзя в одном батче писать ALTER и ещё что-то...
Включите свой ALTER в динамику.

Что значит в динамику? Объясните глупому
http://www.sql.ru/faq/faq_topic.aspx?fid=104