2015-05-14 83 views
0

我知道微软的SQL服务器,我认为这段代码不包含错误。但Mysql thow一个exent,我不能undendant。是任何人都可以解释这对我和 请,给我的MySQL函数,视图,存储过程实例的网站名称如何在mysql工作台中创建存储过程?

CREATE PROCEDURE spInsertEmployee 
(
Employee_Name nvarchar(20), 
Employee_Surname nvarchar(20), 
Department_Name nvarchar(20) 
) 
BEGIN 
declare Department_Id int; /*error*/ 
select Id into Department_Id from tblDepartment where  tblDepartment.Department_Name=Department_Name; 
insert into tblVeri(Employee_Name,Employee_Surname,Department_Id)  values(Employee_Name,Employee_Surname,Department_Id); 
END /*error*/ 
+0

您需要在开始处提供一个分隔符,并以'end;'结尾;' –

+0

ok。这是工作。谢谢 – stackoverflowmet

回答

0

必须为参数定义IN

DELIMITER $$ 

CREATE PROCEDURE spInsertEmployee 
(
IN Employee_Name nvarchar(20), 
IN Employee_Surname nvarchar(20), 
IN Department_Name nvarchar(20) 
) 
BEGIN 
declare Department_Id INT; 

select Id into Department_Id from tblDepartment WHERE tblDepartment.Department_Name=Department_Name; 
insert into tblVeri(Employee_Name,Employee_Surname,Department_Id)  VALUES(Employee_Name,Employee_Surname,Department_Id); 

END;