2015-05-14 3 views
0

Я знаю сервер SQL sql, и я думаю, что эти коды не содержат ошибки. Но Mysql thow exeption, который я не мог раскрыть. Кто-нибудь может объяснить это для меня и пожалуйста, дайте мне MySQL функцию, представление, хранимую процедуру имя примеров веб-сайтКак создать хранимую процедуру в workbench 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; 
Смежные вопросы