Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]nie działająca procedura
jacusek
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
iwosz
post
Post #2





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 30.07.2009

Ostrzeżenie: (0%)
-----


I piszesz o tym na forum PHP? (IMG:style_emoticons/default/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.

Ten post edytował iwosz 10.11.2011, 11:51:35
Go to the top of the page
+Quote Post
jacusek
post
Post #3





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Rzeczywiście. Teraz za późno po crossposting zabroniony i w sumie słusznie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 00:05