2016-07-03 29 views
-1

此代碼拋出一個錯誤:必須聲明標量變量? Microsoft SQL Server的

Must declare scalar variable @MANDATORY"

代碼:

CREATE PROCEDURE [dbo].[CRE_STATION_PR] 
    @P_CODE VARCHAR(10), 
    @P_NAME VARCHAR(50), 
    @P_COORDINATE_X FLOAT, 
    @P_COORDINATE_Y FLOAT, 
    @P_LOCATION VARCHAR(50), 
    @P_STATE_PURPOSE VARCHAR(200), 
    @P_MANDATORY BIT, 
    @P_ID_STATE INT 
AS 
    INSERT INTO TBL_STATIONS (CODE, NAME, COORDINATE_X, COORDINATE_Y, LOCATION, STATE_PURPOSE, MANDATORY, ID_STATE) 
    VALUES (@P_CODE, @P_NAME, @P_COORDINATE_X, @P_COORDINATE_Y, @P_LOCATION, @P_STATE_PURPOSE, @MANDATORY, @P_ID_STATE) 

    RETURN 0 
GO 

我該怎麼辦?

+1

修正錯字在你的語句,這樣你用'@ MANDATORY'而不是你宣佈爲'@ P_MANDATORY'參數。並學會閱讀錯誤信息中的單詞,它完全告訴你**問題是什麼,以及閱讀代碼尋找使用「MANDATORY」的兩秒鐘,告訴你究竟在哪裏找到問題。 –

+2

我知道,愚蠢的錯誤。這是在一天內完成200多個程序後發生的事情。 –

+1

@FelipeCalderon * 200天的程序*真的嗎? –

回答

2

。在你的插入查詢一個錯字

INSERT INTO TBL_STATIONS 
(CODE,NAME,COORDINATE_X,COORDINATE_Y,LOCATION,STATE_PURPOSE,MANDATORY,ID_STATE) 
VALUES 
(@P_CODE,@P_NAME,@P_COORDINATE_X,@P_COORDINATE_Y,@P_LOCATION,@P_STATE_PURPOSE, 
@P_MANDATORY, --Here P_ missing 
@P_ID_STATE) 
相關問題