Forum Informatyka UJ forum Strona Główna Informatyka UJ forum
Rocznik 2005 - czyli najlepsze forum w sieci
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Problem z MySql-em

 
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 2 rok / 4 semestr - Bazy danych
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Krisowski
pijak



Dołączył: 05 Mar 2006
Posty: 218
Przeczytał: 0 tematów

Skąd: z nikąd

PostWysłany: Czw 15:14, 14 Cze 2007    Temat postu: Problem z MySql-em

Nie moge stworzyć funkcji w MySql-u, która miała by więcej niż jedno polecenie. Taka funkcja nie chce się stworzyć (przykład z internetu)
Kod:
CREATE FUNCTION HelloWorld () RETURNS VARCHAR(20)
BEGIN
        DECLARE jakis_napis VARCHAR(20);
        SET jakis_napis = 'Hello World';
        RETURN jakis_napis;
END

Z kolei taka wersja (też z neta)
Kod:
CREATE FUNCTION nazwa () RETURNS VARCHAR(20)
        RETURN 'jakis napis';
tworzy się bez żadnego problemu.

Mam tu wersje MySQL: 5.0.33, phpMyAdmin - 2.9.2 i serwer xampp.

Pomocy, bo mnie szlag trafi :( .

Czy robiliście funkcje i procedury w projektach u Telegi?
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Yoter
zielony żul



Dołączył: 19 Lis 2005
Posty: 1033
Przeczytał: 0 tematów

Skąd: Gościeradów

PostWysłany: Czw 15:45, 14 Cze 2007    Temat postu:

spróbuj dać BEGIN po wszystkich DECLARE'ach i oczywiście ENDa na końcu.
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Krisowski
pijak



Dołączył: 05 Mar 2006
Posty: 218
Przeczytał: 0 tematów

Skąd: z nikąd

PostWysłany: Czw 16:57, 14 Cze 2007    Temat postu:

Dorwałem się do konsoli MySQL-a i wpisałem coś takiego:
Kod:
CREATE FUNCTION ble2() BEGIN RETURNS VARCHAR(20) RETURN 'napis' END;
W zamian dostałem:
Kod:
ERROR 1064 (42000): 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 'BEGIN RETURNS VARCHAR(20) RETURN 'napis' END' at line 1
Dokłądnie ten sam kod błędu dostaję w phpMyAdmin. Ma ktoś jakiś pomysł??
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
werner
[świeżak]



Dołączył: 29 Cze 2006
Posty: 5
Przeczytał: 0 tematów

Skąd: Królewskie Stołeczne Miasto Kraków

PostWysłany: Czw 17:07, 14 Cze 2007    Temat postu:

spróbuj

delimiter //
TWOJ KOD ....
... KONIEC KODU //
delimiter ;
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Krisowski
pijak



Dołączył: 05 Mar 2006
Posty: 218
Przeczytał: 0 tematów

Skąd: z nikąd

PostWysłany: Czw 18:30, 14 Cze 2007    Temat postu:

Niestety dostaję ten sam błąd :/ .
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
werner
[świeżak]



Dołączył: 29 Cze 2006
Posty: 5
Przeczytał: 0 tematów

Skąd: Królewskie Stołeczne Miasto Kraków

PostWysłany: Czw 19:03, 14 Cze 2007    Temat postu:

odsyłam do: [link widoczny dla zalogowanych]
jeśli robisz z phpMyAdmin to szczerze odradzam - sprawdź co dostaniesz z klienta konsolowego. phpMyAdmin jest absolutnie najgorszym klientem.
dokładnie taki kod
Kod:
DELIMITER //
CREATE FUNCTION HelloWorld () RETURNS VARCHAR(20)
 BEGIN
         DECLARE jakis_napis VARCHAR(20);
         SET jakis_napis = 'Hello World';
         RETURN jakis_napis;
 END //
przechodzi u mnie z poziomu klienta konsolowego (no i potem DELIMITER ; żeby przywrócić standardowy).
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Krisowski
pijak



Dołączył: 05 Mar 2006
Posty: 218
Przeczytał: 0 tematów

Skąd: z nikąd

PostWysłany: Czw 19:33, 14 Cze 2007    Temat postu:

Dzięki za pomoc, już działa. W sumie to zadziałało to co napisałeś i powinno wcześniej, ale ja jestem jakiś niekumaty chyba. Obsługa tej konsoli jest dla mnie zbyt "nadzwyczajna" :P .
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Informatyka UJ forum Strona Główna -> Archiwum / 2 rok / 4 semestr - Bazy danych Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin