0

我的 SQL Server 中有一个以这些行代码开头的存储过程:

CREATE PROCEDURE [dbo].[SP_Notify]
-- Add the parameters for the stored procedure here
@UserName nvarchar(50),
@lastDate datetime
AS
BEGIN

-- my code...

我尝试使用以下代码调用存储过程:

DECLARE @data datetime
DECLARE @Username nvarchar(50)
SET @Username = CAST('myUserName' AS nvarchar(50))
SET @data = GetDate()
SP_Notify @Username , @data

但这会导致此错误:

消息 102,级别 15,状态 1,第 10 行
“SP_Notify”附近的语法错误。

4

3 回答 3

5

您需要EXEC在存储过程调用之前添加:

DECLARE @data datetime
DECLARE @Username nvarchar(50)
SET @Username = CAST('myUserName' AS nvarchar(50))
SET @data = GetDate()
EXEC SP_Notify @Username , @data
于 2012-11-29T14:09:07.390 回答
5

尝试:

DECLARE @data datetime
DECLARE @Username nvarchar(50)
SET @Username = CAST('myUserName' AS nvarchar(50))
SET @data = GetDate()

EXEC SP_Notify @Username = @Username, @lastDate = @data

我添加了EXEC, 并指定了参数值,而不是依赖于序数位置来传递它们(否则这可能会反过来咬你,也许如果你将来修改 SP,重新排序和/或添加参数)。

于 2012-11-29T14:09:24.007 回答
1

利用exec SP_Notify @Username,@data

于 2012-11-29T14:12:16.500 回答