2011-03-02 51 views
1
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 

我得到的錯誤是:如何糾正這種錯誤的SQL Server 2005

消息156,級別15,狀態1,過程 usbinsertbookDatainto,8號線
關鍵字附近有語法錯誤 'AS'。
消息137,級別15,狀態2, 步驟usbinsertbookDatainto, 行必須聲明標量變量 「@currentnoofcopiesavillable」。

回答

0

從瓦爾

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 
+0

或用「)」替換上一個「,」SQL Server支持包含和不包含括號的參數列表。 – 2011-03-02 11:34:50

0

這只是一個錯字的列表中刪除的「(」第一次出現 刪除最後一個「」:在您的參數列表你有存儲過程:

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

,並在代碼中你使用:

 values(..... 
@currentnoofcopiesavillable, 

所以這樣可以很清楚:

Defined: @currentnoofcopiesavaillable 
Used:  @currentnoofcopiesavillable 

確保鍵入與您在聲明中使用相同的變量名!