DELIMITER $$ DROP PROCEDURE IF EXISTS check_list $$ CREATE PROCEDURE check_list(IN id MEDIUMINT,IN typ MEDIUMINT, IN nadawca_l MEDIUMINT, IN numer_l VARCHAR(15),IN data_l DATE) BEGIN DECLARE lista MEDIUMINT; DECLARE wpis MEDIUMINT; SELECT `numer` FROM `listy` WHERE `numer` = numer_l INTO lista; SELECT `id_l` FROM `listy` WHERE `nadawca` = nadawca_l AND `adresat` = adr AND `data` = data_l INTO wpis; IF (lista IS NULL AND wpis IS NULL) THEN INSERT INTO `listy` (`adresat` , `nadawca` , `numer` , `data` ) VALUES(1,nadawca_l,numer_l,data_l); ELSEIF (lista IS NULL AND wpis IS NOT NULL) THEN UPDATE `listy` SET `numer` = numer_l WHERE `id_l` = wpis LIMIT 1 ; END IF; END $$ DELIMITER ;
Chcę dodać jeszcze kilka warunków, ale chwilowo napotkałem na problem. Otóż z rana w pracy (na IE6) mogłem bez problemów dodawać przez phpmyadmina procedury, odbywało się to bardzo szybko i bez kompikacji, natomiast teraz jak próbuję dodać też przez phpmyadmina ale przez FF (może ma to znaczenie chociaż wątpię) to wywala mi bład:
Fatal error: Maximum execution time of 300 seconds exceeded in /var/www/localhost/htdocs/phpmyadmin/libraries/import/sql.php on line 105
O co chodzi? Ostatecznie procedury się nie dodają. Wywołąnie samego DROP PROCEDURE działa, ale jak jest z resztą to się wysypuje :/