если имя не существует в базе данных, он должен распечатать сообщение, но оно выполняется в другом состоянии и вставляет - PullRequest
0 голосов
/ 02 августа 2020
CREATE DEFINER=`root`@`localhost` PROCEDURE `AddStudent`(in Firstname varchar(50)
,in Lastname varchar(50)
,in email varchar(50)
,out smessage varchar(500) )
BEGIN

SELECT first_name FROM web_student_tracker.student where first_name in (Firstname);

if Firstname=NULL then set smessage="Name not exsists";

else 

insert into student(first_name, last_name, email) values(Firstname,Lastname,email);


END IF;

КОНЕЦ

Ответы [ 2 ]

0 голосов
/ 02 августа 2020

Чтобы проверить, существует ли имя, вам нужно скопировать rsult в переменную, которую вы проверяете

CREATE DEFINER=`root`@`localhost` PROCEDURE `AddStudent`(in Firstname varchar(50)
,in Lastname varchar(50)
,in email varchar(50)
,out smessage varchar(500) )
BEGIN

SELECT first_name INTO @firstname FROM web_student_tracker.student where first_name in (Firstname);

if @firstname IS NULL then 
    set smessage="Name not exsists";
else 
    insert into student(first_name, last_name, email) values(Firstname,Lastname,email);
END IF;

END
0 голосов
/ 02 августа 2020

Должно быть равно null not = null .

if Firstname is NULL then set smessage="Name not exsists";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...