Создание более 1 процедуры - PullRequest
0 голосов
/ 20 января 2020

У меня есть запрос с парой процедур, и я хочу создать их все сразу, когда я выполню весь запрос, но есть пара ошибок. Процедуры работают нормально, если я создаю их один за другим.

CREATE PROCEDURE pr_GerarVoo @IDvoo nchar(7), @refAviao nchar(6), @IDrota nchar(6), @dataPartida datetime, @DuracaoHoras int, @PrecoC1 money, @PrecoC2 money, @PrecoC3 money AS
BEGIN
    declare @dataChegada datetime = (select DATEADD(HOUR, @DuracaoHoras, @dataPartida))

    INSERT INTO voo VALUES(@IDvoo, @dataPartida, @dataChegada, @refAviao, @IDrota, 0)

    INSERT INTO CustoLugar VALUES(@IDvoo, '1', @PrecoC1)
    INSERT INTO CustoLugar VALUES(@IDvoo, '2', @PrecoC2)
    INSERT INTO CustoLugar VALUES(@IDvoo, '3', @PrecoC3)

    declare @NumeroPassageiros int = (SELECT NT_passageiros FROM voo V JOIN aviao A ON V.refAviao = A.refAviao where IDvoo = @IDvoo)
    declare @i int = 1

    while @i <= @NumeroPassageiros
    BEGIN
        DECLARE @lugarBlt int = (select IDlugar from (SELECT ROW_NUMBER() OVER(ORDER BY IDLugar) as RowNum, * from lugar where refAviao = @refAviao ) lugar WHERE RowNum = @i) -- NAO COMEÇA DESDE O LUGAR 0
        INSERT INTO VendaVoo values(@IDvoo, @lugarBlt, 0)
        set @i = @i + 1 
    END
END

GO
-- |/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/|/| --
--                         PROCEDIMETO pr_Eliminar                           --
-- |\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\|\| --

CREATE PROCEDURE pr_EliminarVoo @IDvoo nchar(7) AS
BEGIN   
    IF((SELECT count(*) FROM vendaBilhete WHERE IDvoo = @IDvoo) > 0)
        Print 'Não é possivel eliminar o voo ' + @IDvoo
    ELSE
        BEGIN
        DELETE FROM voo WHERE IDvoo = @IDvoo
        Print 'O voo ' + @IDvoo + ' foi eliminado com sucesso'
        END
END

Извините, если некоторые части на португальском ...

Ошибки:

Сообщение 102, уровень 15, состояние 1, процедура pr_GerarVoo, строка 884
Неверный синтаксис рядом с 'GO'.

Сообщение 102, состояние 15, состояние 1, процедура pr_GerarVoo, строка 884
Неверный синтаксис рядом с 'END'

Строка 884 находится в первом 'BEGIN' после CREATE PROCEDURE pr_GerarVoo ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...