![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 28.11.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam napisałem pewna procedurę ale nie jestem w stanie stwierdzić gdzie jest błąd i czemu po jej wywołaniu nie wprowadza żadnych wartości
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 ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:06 |