2016-04-21 2 views
0

Я пытаюсь создать хранимую процедуру, и я получаю код ошибки.Как создать вставку хранимой процедуры mysql

Код ошибки: 1064. У вас возникла ошибка в синтаксисе SQL; проверить руководство, которое соответствует Вашей версии сервера MySQL для правого синтаксиса использовать вблизи «» в строке 12

Я не самый большой с MYSQL, и я не уверен, где даже смотреть на фигуре проблема вне.

Create Procedure Sp_insertCustomer(
    IN Customer_id VARCHAR(20) , 
    IN UserName VARCHAR(20), 
    IN Fname VARCHAR(20), 
    IN Lname VARCHAR(20), 
    IN Dob Date, 
    IN Address VARCHAR(250), 
    IN Phone INT, 
    IN Email VARCHAR(250), 
    IN Ss VARCHAR(9)) 
BEGIN 
INSERT INTO Customer (Cusomter_id,UserName,Fname,Lname,Dob,Address,Phone,Email,Ss)  
VALUES (in_Customer_id ,in_UserName , in_Fname , in_Lname , in_Dob , in_Address , in_Phone , in_Email , in_Ss); 
END 
+1

Переменные в секции INSERT 'VALUES' не соответствуют вашим параметрам. – andre3wap

ответ

0

1) Ваши параметры и значения в вставной заявлении различны: customer_id является параметром и in_Customer_id в вставной заявлении

2) добавить разделители

DELIMITER $$

< вашу процедуру >

END $$ --- вместо этого ваш END

DELIMITER;

+0

так что вместо in_Customer_id он должен быть просто Customer_id? –

+0

попытайтесь сделать это вяло –

0

Кажется, что вы пропустили имена параметров. Также вам не нужно указывать IN для параметров.

DELIMITER $$ 
Create Procedure Sp_insertCustomer(
Customer_id VARCHAR(20) , 
UserName VARCHAR(20), 
Fname VARCHAR(20), 
Lname VARCHAR(20), 
Dob Date, 
Address VARCHAR(250), 
Phone INT, 
Email VARCHAR(250), 
Ss VARCHAR(9)) 
BEGIN 
INSERT INTO Customer (Cusomter_id, UserName, Fname, Lname, Dob, Address, Phone, Email, Ss) 
VALUES (Customer_id, UserName, Fname, Lname, Dob, Address, Phone, Email, Ss); 
END$$ 
Смежные вопросы