【发布时间】:2015-01-07 17:42:07
【问题描述】:
我试图不时获得表的前 10、前 5 记录。因此,我将创建一个带有参数的存储过程,该参数接受记录数作为参数。但它在查询中的@number 附近给了我一个错误。
这是我尝试过的,这给了我一个语法错误:
error=Msg 102,级别 15,状态 1,过程 selectVoterTopGivenNumberRECS,第 10 行“@number”附近的语法不正确。
代码:
CREATE PROCEDURE selectVoterTopGivenNumberRECS
(
@number int
)
AS
BEGIN
BEGIN TRANSACTION
SET NOCOUNT ON;
--Query
SELECT TOP @number
V.NICorPP as NICorPP,V.fName+' '+V.mName+' '+V.lName AS Name,
V.DOB AS DateofBirth,
CASE (V.gender)
WHEN 1 THEN 'Male'
WHEN 2 THEN 'Female'
END AS Gender,V.vtaddress AS VoterAddress,V.phHome AS ContactHome,
V.phMob AS ContactMobile,V.occupation AS Occupation,
V.occRegID AS RegisteredOCCID,LGD.LGDivName
FROM Voter V
INNER JOIN LGDivision LGD ON V.lgDiv=LGD.LGDivID
WHERE V.vtStatus='Active';
COMMIT TRANSACTION
END;
如何克服这个问题?
【问题讨论】:
-
能否请您附上您收到的错误信息?看来你没说完那句话。
-
@paqogomez error=Msg 102,级别 15,状态 1,过程 selectVoterTopGivenNumberRECS,第 10 行“@number”附近的语法不正确。
标签: sql sql-server stored-procedures