Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: function return table
Forum PHP.pl > Forum > Bazy danych > MySQL
MGie
Witam,
mam problem ze zwróceniem tymczasowej tablicy przez funkcję:
  1. CREATE OR REPLACE FUNCTION users_in_groups()
  2. AS
  3. BEGIN
  4. CREATE TEMPORARY TABLE IF NOT EXISTS results AS(
  5. SELECT u.id , u.name, u.email, ug.name, ug.id , ug.alias FROM users u, users_groups ug, users_in_groups uig
  6. WHERE
  7. u.id = uig.user_id
  8. AND
  9. ug.id = uig.group_id
  10. )
  11. RETURN results;
  12. END;
  13. /


Jak poprawnie to zrobić?
nospor
Witaj nowy uzytkowniku forum. Pewnie myslisz ze my tu wrozki jestesmy, ale musze cie rozczarowac: nie jestesmy.
Dlatego tez jak cos ci nie dziala, nalezy podac co nie dziala oraz jakie dostajesz bledy.
MGie
błąd składni:
Kod
#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 'FUNCTION users_in_groups()
    AS
    BEGIN
        CREATE TEMPORARY TABLE IF NO' at line 1
nospor
http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html
ja tam nigdzie nie widze OR REPLACE w skladni
MGie
Cytat(nospor @ 29.02.2016, 17:15:20 ) *
http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html
ja tam nigdzie nie widze OR REPLACE w skladni

Faktycznie, myślałem że podstawy PL/SQL i MySQL się nie różnią, a jednak...

Doczytałem w dokumentacji MySQL że mogę zwróci w funkcji {STRING|INTEGER|REAL|DECIMAL},
nic o typach złożonych nie pisze.

W ten sposób chyba tego nie zrobię.

Ogólnie o co mi chodzi:
mam 3 tabele: users, users_groups, users_in_groups,
chciałbym w kontrolerze odebrać z bazy gotową tabelę zawierającą przynależność wszystkich użytkowników do grup.

myślę, że tak by było dobrze:
Kod
array (
    [0] => array(
        'user_id' => 3,
        'user_name' => 'Jan',
        'user_in_groups' => array(
            [0] => array(
                'group_id' => 1,
                'group_name' => 'admin',
            )
        )
    )
)



Jak to zrobić?
mmmmmmm
Zrób VIEW zamiast funkcji
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.