GVi*_*i82 0 sql-server stored-procedures sql-server-2008-r2
我在我的SQL Server中有一个存储过程,它以这些行代码开头:
CREATE PROCEDURE [dbo].[SP_Notify]
-- Add the parameters for the stored procedure here
@UserName nvarchar(50),
@lastDate datetime
AS
BEGIN
-- my code...
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下代码调用存储过程:
DECLARE @data datetime
DECLARE @Username nvarchar(50)
SET @Username = CAST('myUserName' AS nvarchar(50))
SET @data = GetDate()
SP_Notify @Username , @data
Run Code Online (Sandbox Code Playgroud)
但这会导致此错误:
消息102,级别15,状态1,行
10'SP_Notify'附近的语法错误.
您需要EXEC在存储过程调用之前添加:
DECLARE @data datetime
DECLARE @Username nvarchar(50)
SET @Username = CAST('myUserName' AS nvarchar(50))
SET @data = GetDate()
EXEC SP_Notify @Username , @data
Run Code Online (Sandbox Code Playgroud)
尝试:
DECLARE @data datetime
DECLARE @Username nvarchar(50)
SET @Username = CAST('myUserName' AS nvarchar(50))
SET @data = GetDate()
EXEC SP_Notify @Username = @Username, @lastDate = @data
Run Code Online (Sandbox Code Playgroud)
我添加了EXEC并指定了参数值,而不是依赖于序号位置来传递它们(这可能会回来咬你,否则,如果你将来修改SP,重新排序和/或添加参数).