2015-10-08 5 views
2

У меня есть синтаксис, который хорошо работает только с одним оператором IF, а затем я решил проверить ISBN, если он уже существует, и если он существует, он просто вернет «уже существует»Как я могу сделать несколько операторов If?

И я использую «функция»

Вот что я уже пробовал.

IF EXISTS(SELECT ISBN FROM book WHERE ISBN=i) THEN 
RETURN "Book already exists."; 

ELSE 
IF (b=0) 
THEN 
INSERT INTO book(ISBN,title,author,publisher,Date_Published,`Cost`)  VALUES(i,t,a,p,STR_TO_DATE(d, '%M %e,%Y'),c); 
RETURN "Book has been successfully added."; 
ELSE 
UPDATE book SET ISBN=i, title=t,author=a,publisher=p,Date_Published=d,cost=c  WHERE bookID=b; 
RETURN "Book has been successfully altered."; 
END IF; 
+0

@RahulTripathi ааа пропустил, что вы правильно:) –

ответ

1

Попробуйте так:

IF EXISTS(SELECT ISBN FROM book WHERE ISBN=i) THEN 
    RETURN "Book already exists."; 
ELSEIF (b=0) THEN 
    INSERT INTO book(ISBN,title,author,publisher,Date_Published,`Cost`) 
    VALUES(i,t,a,p,STR_TO_DATE(d, '%M %e,%Y'),c); 
    RETURN "Book has been successfully added."; 
ELSE 
    UPDATE book SET ISBN=i, 
    title=t,author=a,publisher=p,Date_Published=d,cost=c  
    WHERE bookID=b; 
    RETURN "Book has been successfully altered."; 
END IF; 

(Вы должны удалить пространство между ELSE IF)

+1

спасибо это работает хорошо – kielou

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