Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]nie działająca procedura
Forum PHP.pl > Forum > Przedszkole
jacusek
Witam.
Dostałem stare dane do uzupełnienia w tabeli statystyki u siebie w firmie. Wychodząc ze słusznego założenia, że nie chce mi się wpisywać tego ręcznie (uzupełnienie jednej tabeli na podstawie drugiej) stwierdziłem, ze napiszę do tego procedurę, którą później będę mógł wykonać za pomocą php w pętli.
Procedura wygląda w sposób następujący:
  1. CREATE DEFINER=`root`@`%` PROCEDURE `costam`(IN `data` DATE, IN `szt` INT)
  2. LANGUAGE SQL
  3. DETERMINISTIC
  4. CONTAINS SQL
  5. SQL SECURITY INVOKER
  6. COMMENT ''
  7. BEGIN
  8. case szt
  9. when szt<=3
  10. then
  11. INSERT INTO stat (id_a,DATA,16_00) VALUES (18,@DATA,@szt);
  12. when szt>3<=6 AND @szt%3=0
  13. then
  14. INSERT INTO stat (id_a,DATA,16_00,17_00) VALUES (18,@DATA,3,@szt);
  15. when szt>3<=6 AND @szt%3!=0
  16. then
  17. INSERT INTO stat (id_a,DATA,16_00,17_00) VALUES (18,@DATA,3,@szt%3);
  18. else
  19. begin
  20. end;
  21. end case;
  22. END

We wszystkich przypadkach id_a to to 18, ale jednocześnie do wstawianej tabeli jest konieczność wpisania id_a.
w przypadku wywołania procedury call costam('2011-08-11',4); niestety nic się nie dzieje - tzn. nie wywala żadnego błędu, ale również nie dodaje wierszy w tabeli stat. Dodam, że jeżeli "ręcznie" tylko poprzez pytanie z procedury działa bez problemu. Gdzie w takim razie tkwi błąd?

iwosz
I piszesz o tym na forum PHP? smile.gif Polecam założyć temat na forum MySQL: Forum: MySQL

Aha, i opisz dokładnie jak wygląda tabela stat i jakie ma pola.
jacusek
Rzeczywiście. Teraz za późno po crossposting zabroniony i w sumie słusznie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.