Параметризованная ошибка хранимой процедуры - PullRequest
0 голосов
/ 17 февраля 2012

Я использую SQL Server 2005 Management Studio Express.Монеты и темы - мои столы.Я создал хранимые процедуры, используя две вышеупомянутые, и получил сообщение:

Ошибка: Msg 102, Уровень 15, Состояние 1, Тематический раздел процедур, Строка 1
Неверный синтаксис рядом с 'id2'.

Вот вся моя процедура:

create procedure themestat(id2 In numeric, id1 In numeric)
is
   @userid nvarchar(50), @co nvarchar(50), @price nvarchar(50)
begin
   update themes set prioirty=1 where themeid=id2;
   select credits as co from coins where uid=id1;
   select rate as price from themes where priority=1;
   if(co>price)
   begin
     update themes set status=1 where priority=1;
     update themes set priority=0 where themeid=id2;
   end
   else
   begin
     update themes set priority=0 where theme=id2;
     PRINT 'no sufficient coins'
   end
end

Мне любопытно узнать, где я ошибся ??

1 Ответ

4 голосов
/ 17 февраля 2012

Я не уверен, откуда у вас есть синтаксис, но типы данных объявлены как '@param type', поэтому первая строка должна выглядеть следующим образом:

create procedure themestat 
    @id2 numeric
    @id1 numeric

Тогда, очевидно, измените все ссылки на id1 и id2 соответствующим образом. В скрипте есть другие синтаксические ошибки (пропускаются declare, is вместо as, возможно, другие - я не слишком внимательно смотрю).

Это заставляет меня задаться вопросом, пришли ли вы с другого диалекта SQL? Я предлагаю прочитать о CREATE PROCEDURE в MSDN (а также на других страницах).

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