![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 25.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Hi.
Mam oto taką funkcję:
Funkcja ma wypelniac tabele losowymi danymi (oczywiscie pozniej będzie pętla While co spowoduje wypelnienie calej tabeli a nie tylko jednego wiersza) Anyway problem w tym, że funkcja nie dziala. Dostaje błąd: Not allowed to return a result set from a function. W googlach są odpowiedzi, ale średnio je rozumiem. Mógłby ktoś coś doradzić? pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
1) Dlaczego do wypełnienia tabeli danymi potrzebna jest funkcja?
2) Skoro zdefiniowałeś, że zwrócona wartość ma być typu to dlaczego zwracasz numer? -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 25.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
1)Funkcja potrzebna mi bo robie projekt na zaliczenie semestru a nasz wykladowca nie kazal wypelniac tego konkretnymi danymi i zalecil wlasnie taki sposob. A jesli chodzi o to czemu nie robie tego w procedurze - to korzystam z funkcji bo wydaje mi się prostsza do napisania.
2) Historia dluga dlaczego tak jest, ogolnie nie chce zeby cos sie wyswietlalo na koncu tej funkcji. I jak bylem na cwiczeniach to z mala pomoca wykladowcy udalo mi się to zrobic - niestety nie skopiowalem calosci. Anyway - wpisujac nawet 'Hello world' zamiast zera to i tak wystepuje ten sam błąd. Niestety :/ Jakby co to skrypt mozna uzyc na obojetnie jakiej bazie danych, bo nie wymaga jakichs specjalnych tabel/ Ten post edytował Mutakoss 25.12.2010, 23:16:43 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
zalecil wlasnie taki sposob. Kyrie eleison! Albo źle zrozumiałeś wykładowcę albo on nie wie co mówi
Albo...
Ten post edytował wookieb 25.12.2010, 23:23:40 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 25.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
[quote name='wookieb' date='25.12.2010, 23:22:45 ' post='820415']
Kyrie eleison! Albo źle zrozumiałeś wykładowcę albo on nie wie co mówi Moglbys wyjasnic dlaczego? ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Bo tworzysz tabelę (za każdym wywołaniem funkcji), która pełni funkcję tablicy do wylosowania sylab i wypełniasz je danymi (też za każdym razem) tylko po to żeby wylosować 3 wartości :/ (oczywiście pomijam fakt, że można to zrobić jednym zapytaniem i tak też powinno być)
A teraz finał. Losujesz ale w żaden sposób jej nie zwracasz. Bezsens na każdym kroku. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 25.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ah o to chodzi.
Oczywiście to jest tylko zrobione żeby caly ten system działał. W finalnej wersji nie będzie tworzona tam żadna tabela, wynik będzie dopisywany do zmiennej a zmienna wpisywana do tabeli, wszystko w pętli while żeby wypelnic odpowiednią ilość wierszy. Przynajmniej mam zamiar tak to przerobic. Moze da się to zrobić jednym zapytaniem, niestety nie znam takiego sposobu i korzystam z tego co w miarę potrafię zrobić. bump niestety, nie ukrywam że wcześniej nie sprawidzlem bo nie mialem zbytnio czasu, wklejam oba kody które podałeś i dalej to niestety nie działa. Ciągle mam ten sam błąd. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Wersja mysql? Moja 5.1 i oba działają. Sprawdź czy na pewno dobrze skopiowałeś (plaintext bo skopiujesz też głupie cyferki)
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 25.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
5.1.51 for win32, moge zawsze jak cos sprawdzic na linuxie.
I tak, kopiuje z plaintext. Jeszcze jedno pytanie - bo mowisz, że Ci dziala, Ty to wklejasz na zasadzie kopiuj wklej czy robisz z tego skrypt .sh w linuxie? Bo jak ja to wkleja to on oczekuje znaków delimitera, więc trochę to modyfikuje i po wklejam
Ten post edytował Mutakoss 26.12.2010, 11:55:32 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Wklejam po prostu w phpmyadminie nawet. W konsoli też działa.
-------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 25.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
hm to nie dziala ;x przeinstaluje mysql i zobacze
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Opisz krok po kroku co robisz i jakie masz błędy.
-------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 25.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Po reinstalce serwera mysql mam wersje 5.5.8.
Co robiłem ? wklejałem to co mi dales i nie wysyłał tego do serwera bo nie było ";;" po wpisaniu tego delimitera był ten błąd. Zrobiłem małą modyfikacje i - choć dalej nie działa - mam inny błąd.
a błąd to
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 16:52 |