Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Procedury: if else, Syntax Error 1064
Garrett
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 21.03.2010

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


Witam
Chcę stworzyć sobie taką procedurkę, która sortuje wyniki w zależności od podanego parametru: 1 albo 2

  1. CREATE PROCEDURE zad2(par1 int)
  2. BEGIN
  3. IF par1=1 then
  4. SELECT Name, LANGUAGE, Percentage, Population, LifeExpectancy, floor(Population*(Percentage/100)) AS LudnoscMOWIACAjezykiem FROM country
  5. JOIN countrylanguage ON ( countrylanguage.CountryCode=country.Code )
  6. WHERE IsOfficial='T'
  7. ORDER BY Name
  8.  
  9. ELSE
  10. SELECT Name, LANGUAGE, Percentage, Population, LifeExpectancy, floor(Population*(Percentage/100)) AS LudnoscMOWIACAjezykiem FROM country
  11. JOIN countrylanguage ON ( countrylanguage.CountryCode=country.Code )
  12. WHERE IsOfficial='T'
  13. ORDER BY LANGUAGE
  14. END IF
  15. END


I próbuję na różne sposoby wpisywać te BEGINY i ENDY, ale nadal wywala:

Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END


Gdzie jest błąd?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kokers
post
Post #2





Grupa: Zarejestrowani
Postów: 154
Pomógł: 33
Dołączył: 18.10.2010
Skąd: Katowice

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


brakuje kilku średników no i w mysql trzeba jeszcze ustawić delimiter czyli coś takiego:
  1. DELIMITER //
  2. CREATE PROCEDURE zad2(par1 int)
  3. BEGIN
  4. IF (par1=1) then
  5. SELECT Name, LANGUAGE, Percentage, Population, LifeExpectancy, floor(Population*(Percentage/100)) AS LudnoscMOWIACAjezykiem FROM country
  6. JOIN countrylanguage ON ( countrylanguage.CountryCode=country.Code )
  7. WHERE IsOfficial='T'
  8. ORDER BY Name;
  9.  
  10. ELSE
  11.  
  12. SELECT Name, LANGUAGE, Percentage, Population, LifeExpectancy, floor(Population*(Percentage/100)) AS LudnoscMOWIACAjezykiem FROM country
  13. JOIN countrylanguage ON ( countrylanguage.CountryCode=country.Code )
  14. WHERE IsOfficial='T'
  15. ORDER BY LANGUAGE;
  16.  
  17. END IF;
  18. END //
  19. DELIMITER ;

Go to the top of the page
+Quote Post
Garrett
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 21.03.2010

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


Dzięki (IMG:style_emoticons/default/smile.gif)
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: 22.08.2025 - 20:26