как исправить этот тип ошибки SQL Server 2005 - PullRequest
1 голос
/ 02 марта 2011
create procedure usbinsertbookDatainto
   @Bookno Numeric,
   @studentno Numeric,
   @currentnoofcopiesavaillable varchar(300),
   @Issuedate datetime,
   @Duedate  datetime
AS
 BEGIN
  Insert into tbluseraccount
        (
          Bookno,
          studentno,
          currentnoofcopiesavaillable,
          Issuedate,
          Duedate
         )
         values
          (
           @Bookno,
           @studentno,
           @currentnoofcopiesavillable,
           @Issuedate,
           @Duedate
            )          
END

Я получаю ошибку:

Сообщение 156, Уровень 15, Состояние 1, Процедура usbinsertbookDatainto, Строка 8
Неверный синтаксис рядом с ключевым словом «AS».
Сообщение 137, Уровень 15, Состояние 2, Процедура usbinsertbookDatainto, Строка 22 * ​​1007 * Необходимо объявить скалярную переменную "@currentnoofcopiesavillable".

Ответы [ 2 ]

0 голосов
/ 02 марта 2011

Это просто опечатка: в вашем списке параметров для сохраненного процесса у вас есть:

create procedure usbinsertbookDatainto
   ... 
   @currentnoofcopiesavaillable varchar(300),

и в коде, который вы используете:

     values(.....
@currentnoofcopiesavillable,

Итак, чтобы было понятнее:

Defined:  @currentnoofcopiesavaillable 
Used:     @currentnoofcopiesavillable

Обязательно введите то же имя переменной, которое вы использовали в объявлении!

0 голосов
/ 02 марта 2011

удалить первое вхождение "(" и удалить последнее "," из вашего списка переменных

create procedure usbinsertbookDatainto

 @Bookno Numeric,
 @studentno Numeric,
 @currentnoofcopiesavaillable varchar(300),
 @Issuedate datetime,
 @Duedate  datetime

AS
 BEGIN
  Insert into tbluseraccount
        (
          Bookno,
          studentno,
          currentnoofcopiesavaillable,
          Issuedate,
          Duedate
         )
         values
          (
           @Bookno,
           @studentno,
           @currentnoofcopiesavillable,
           @Issuedate,
           @Duedate
            )          
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...