Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]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.
Zrobiłem taką procedurę:
  1. CREATE procedure (09_00 int,10_00 int,11_00 int)
  2. begin
  3. IF 09_00=0 then
  4. UPDATE stat_test SET 09_00=NULL WHERE 09_00=0;
  5. end IF;
  6. IF 10_00=0 then
  7. UPDATE stat_test SET 10_00=NULL WHERE 10_00=0;
  8. end IF;
  9. IF 11_00=0 then
  10. UPDATE stat_test SET 11_00=NULL WHERE 11_00=0;
  11. end IF;
  12. end

No właśnie i niestety przy wywołaniu tej procedury zmienia mi wszystkie wiersze w danych kolumnach na null, kiedy przy wywołaniu podaje 0, a chodzi o to, żeby zmieniał tylko tam gdzie jest 0 w tabeli. Być może mam gdzieś błąd w rozumowaniu, dlatego proszę o pomoc.
Z góry dziękuję.

Problem już rozwiązany. Oto kod:
  1. CREATE procedure test1(n int)
  2. begin
  3. IF n=0 then
  4. UPDATE stat_test SET 09_00=NULL WHERE 09_00=0;
  5. UPDATE stat_test SET 10_00=NULL WHERE 10_00=0;
  6. UPDATE stat_test SET 11_00=NULL WHERE 11_00=0;
  7. UPDATE stat_test SET 12_00=NULL WHERE 12_00=0;
  8. UPDATE stat_test SET 13_00=NULL WHERE 13_00=0;
  9. UPDATE stat_test SET 14_00=NULL WHERE 14_00=0;
  10. UPDATE stat_test SET 15_00=NULL WHERE 15_00=0;
  11. UPDATE stat_test SET 16_00=NULL WHERE 16_00=0;
  12. UPDATE stat_test SET 17_00=NULL WHERE 17_00=0;
  13. UPDATE stat_test SET 18_00=NULL WHERE 18_00=0;
  14. UPDATE stat_test SET 19_00=NULL WHERE 19_00=0;
  15. UPDATE stat_test SET 20_00=NULL WHERE 20_00=0;
  16. end IF;
  17. end


Ten post edytował jacusek 17.01.2010, 20:44:37
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 19:58