DELIMITER //
CREATE PROCEDURE dodaj_książke
(
IN pr_imie text,
IN pr_nazwisko text,
IN pr_tytuł text,
IN pr_regał int(11),
IN pr_gatunek char(20)
)
BEGIN
DECLARE m1 int DEFAULT 0;
DECLARE m2 int DEFAULT 0;
DECLARE m3 int DEFAULT 0;
DECLARE m4 int DEFAULT 0;
set m1 =(SELECT max(id_autora) FROM autor);
set m2 =(SELECT max(ID_Książki) FROM książki);
set m3=m2+1;
IF((SELECT `Imię autora` FROM autor) LIKE pr_imie AND ( SELECT `Nazwisko autora`FROM autor) LIKE pr_nazwisko)
THEN
SET m1 =(SELECT ID_autora FROM autor);
INSERT INTO Książki VALUES (m3,pr_tytuł,m1,pr_regał,pr_gatunek);
ELSE
SET m4=m1+1;
INSERT INTO Autor VALUES (m4,pr_imie,pr_nazwisko);
INSERT INTO Książki VALUES (m3,pr_tytuł,m4,pr_regał,pr_gatunek);
end if;
END; //
DELIMITER ;
Procedura ma pobrać pobrać dane po czym porównać czy istnieje już rekord o takich samych wartościach (imię i nazwisko autora w tabeli "autor") jeżeli tak to wprowadzić dane insertem do tabeli "książki" natomiast jeśli nie utworzyć nowy rekord w tabeli "autor" z podanymi danymi a następnie wprowadzić dane insertem do tabeli "książki"
za wszelką pomoc dziękuje
