2014-10-07 1 views
0

Я на самом деле пытаюсь вставить значение в таблицу, используя procedure.This моего кодовой таблицыпроцедуры в MYSQL

create table employeeTable(
    employeeId varchar(20), 
    employeeName varchar(20), 
    qualification varchar(20), 
    cadre varchar(15), 
    age numeric(3), 
    sex char(1), 
    occupation varchar(10), 
    dateOfBirth date, 
    address varchar(50), 
    city varchar(15), 
    employeePhoto blob, 
    constraint pk_employeeId_employeeTable primary key(employeeId) 
    ); 

Моей процедура вставки

delimiter // 
    create procedure insertEmployee(in employeeId varchar(20),in employeeName varchar(20), 
    in qualification varchar(20),in cadre varchar(15),in age numeric(3),in sex char(1), 
    in occupation varchar(10),in dateOfBirth date,in address varchar(50),in city varchar(15), 
    in employeePhoto blob) 
    begin 
    insert into employeetable values(upper(employeeId),employeeName,qualification, 
    cadre,age,sex,occupation, 
    str_to_date(dateOfBirth,'%d-%m-%Y'),address,city,employeePhoto); 
    end;// 
    delimiter ; 

И я пытаюсь позвонить эта процедура со следующими параметрами

call insertEmployee('A001','Murugan','Phd','Manager',12,'M','service','30-07-1994', 
    '30,PNG nagar,pollachi','Coimbatore',null); 

Но значения не получают вставленные, и это проявляющее ошибку # 1048 - Column «Дат eOfBirth 'не может быть нулевым. В чем проблема?

ответ

0
delimiter // 
create procedure insertEmployee(in employeeId varchar(20),in employeeName varchar(20), 
in qualification varchar(20),in cadre varchar(15),in age numeric(3),in sex char(1), 
in occupation varchar(10),in dateOfBirth varchar(15),in address varchar(50),in city varchar(15), 
in employeePhoto blob) 
begin 
insert into employeetable values(upper(employeeId),employeeName,qualification, 
cadre,age,sex,occupation, 
str_to_date(dateOfBirth,'%d-%m-%Y'),address,city,employeePhoto); 
end;// 
delimiter ; 

Пробуйте эту процедуру. Вы указали датуOfBirth как объект даты в списке параметров. Это должен был быть VARCHAR, так как он передается процедуре.

Смежные вопросы