SQL用作查询,但作为存储过程调用时失败

SQL用作查询,但作为存储过程调用时失败,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我有一个SQL,它正在工作: WITH MyTable AS ( SELECT RegistrationID, ID, (ROW_NUMBER() OVER ( ORDER BY RegistrationID )) AS 'RowNumber' FROM tblData_Visit WHERE RegistrationID = @baseid ) SELECT ' ' + CAST(RowNumber AS nvarchar) AS 'Row#'

我有一个SQL,它正在工作:

WITH MyTable AS
(
    SELECT RegistrationID, ID,
    (ROW_NUMBER() OVER ( ORDER BY RegistrationID )) AS 'RowNumber'
    FROM tblData_Visit
            WHERE RegistrationID = @baseid
) 
SELECT ' ' + CAST(RowNumber AS nvarchar) AS 'Row#'     
FROM MyTable 
WHERE RegistrationID = @baseid AND ID = @objectid
当我创建存储过程时

CREATE PROC [dbo].[upMeta_VisitIndex]
(
@baseid int,
@objectid int
)
AS
WITH MyTable AS
(
    SELECT RegistrationID, ID,
        (ROW_NUMBER() OVER ( ORDER BY RegistrationID )) AS 'RowNumber'
    FROM tblData_Visit
    WHERE RegistrationID = @baseid
) 
SELECT ' ' + CAST(RowNumber AS nvarchar) AS 'Row#'     
FROM MyTable 
WHERE RegistrationID = @baseid AND ID = @objectid


GO
,并使用以下命令调用它:

EXEC upMeta_VisitIndex @baseid @objectid
我最终来到了errorville:

SQL exception data:
SQL error number: 102. SQL state:1. Error class: 15. Message: "Incorrect 
syntax near '@objectid'.". Procedure:"".
System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near 
'@objectid'.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, 
Boolean breakConnection, Action`1 wrapCloseInAction)...............
鉴于我知道@baseid和@objectid不为null,我认为问题在于我如何调用SP。这里有什么明显的遗漏吗

干杯,
Gav.

调用存储过程时,参数之间似乎缺少逗号。试试这个:

EXEC upMeta_VisitIndex @baseid , @objectid

调用存储过程时,EXEC语句中缺少逗号

EXEC upMeta_VisitIndex @baseid, @objectid

@baseid、@objectid
。对于一个缺少的角色,我有一个很长的问题。谢谢格雷格。我们的朋友拉胡尔也回答了这个问题(希望他自己也发现了这个问题),出于怀疑,我想给他一个机会,希望有一天,我也能成为两位数的代表!哈哈哈,祝你好运。谢谢@GavinCreagh和Greg,是的,我发现了错误,但当我发布答案时,页面刷新了,我意识到Greg几分钟前已经回答了。感谢你的好意,我现在终于有足够的声望点可以在这里发表评论了,谢谢!