2014-02-16 69 views
0

我有這樣的插入語句存儲過程的錯誤信息,詢問ID傳遞輸出

CREATE PROCEDURE s_Add$Subject 
    (@SubjectName varchar(50), 
    @TheSubjectID int OUT) 
AS 
    INSERT INTO [Subject] (SubjectName) 
    VALUES (@SubjectName) 
    SET @TheSubjectID = @@IDENTITY 

我不記得在此之前曾經發生,但由於輸出參數是一個輸出,它爲什麼呼籲要傳遞的ID?然後我試圖使@TheSubjectID爲聲明的變量,它是拋出一個錯誤,我設置爲

declare @TheSubjectID int out 

和它造成的錯誤,因爲它說的INT不正確的語法。哦,請不要因爲使用@@IDENTITY而不是SCOPE_IDENTITY,我更喜歡@@IDENTITY,並且從來沒有任何問題。 :)

回答

0

嘗試的答案這個

CREATE PROCEDURE s_Add$Subject (
    @SubjectName varchar(50), 
    @TheSubjectID int = NULL OUT) 
AS 
    INSERT INTO [Subject] (SubjectName) 
    VALUES (@SubjectName) 
    SET @TheSubjectID = @@IDENTITY 
+0

謝謝你們。今天早上,當我再次查看所有內容時,意識到這不是導致錯誤的存儲過程,而是我的代碼隱藏頁面中的錯誤。我忘記了爲輸出傳遞參數。 – Chris