2011-11-10 36 views
-2

我收到此错误:获取和错误是存储过程

Msg 201, Level 16, State 4, Procedure NewEmployee, Line 0 
    Procedure or function 'NewEmployee' expects parameter '@LastName', which was not supplied. 

这里是我的代码:

CREATE PROCEDURE NewEmployee (
    @LastName nvarchar(20) 
    ,@FirstName nvarchar(10) 
    ,@HireDate datetime 
    ,@Birthdate datetime 
    ,@Title nvarchar(30)) 

AS 
BEGIN 
    INSERT INTO Employees (LastName,FirstName,HireDate,BirthDate,Title) 
    VALUES (@LastName, @FirstName, @HireDate,@Birthdate,@Title) 

End 
GO 

这就是我要做的。

我需要编写一个程序,以便将新员工插入表中,其中包括姓名,雇用和出生日期以及职位。

我试图通过运行程序,添加以下信息:

Last Name: Beesley 
First Name: Pam 
Hire Date: Current Date 
Birth Date: 12/30/1972 
Title: Receptionist 
Home Phone: 330-555-5555 
+0

当你调用存储过程或者当你尝试创建它时你会得到这个错误吗? –

+0

你的EXEC系列执行sproc的过程如何? – UnhandledExcepSean

+0

当我尝试运行它时,我没有收到错误。 – norris1023

回答

1

看来你是不及格的参数正确的数量,同时exec的可以共享exec语句的程序?

+0

EXEC NewEmployee;我很害怕,我想给它增加名字,我应该声明回报,然后执行回报? – norris1023

+0

EXEC NewEmployee'MyLastName','MyFirstName',GETDATE(),GETDATE() - 10000,'Title'should work – tmjam

0

这不行?

EXEC NewEmployee 'MyLastName','MyFirstName',GETDATE(),GETDATE()-10000,'My Title' 

您不能在创建它之后调用该存储过程。你有你需要的领域。哦,你的专栏的尺寸太小了。在我看来,75的姓氏和50的名字。