Tomasz G.

Tomasz G. programista,
konstruktor
elektronik

Temat: [MySQL+Qt] zwracanie tabeli z procedury

Witam

Czy da się zwrócić z Procedury tabelę? Albo inaczej: Czy da się użyć Procedury z parametrami w zapytaniu SELECT? Jak inaczej można to zrobić? A może po prostu czegoś nie wiem :)

Widoku nie użyję bo nie przyjmuje parametrów, Procedura nie chce zwracać tabeli jako wyniku - przynajmniej w Qt za pomocą ich silnika do MySQLa. Funkcja zwraca tylko jeden parametr.

Coś w poniższej postaci byłoby najprostsze w zastosowaniu:

SELECT id, imie, nazwisko, miasto_nazwa FROM (CALL dane_osobowe(miastoid));

lub po prostu:
CALL dane_osobowe(miastoid);


przykładowa procedura:

CREATE DEFINER=`root`@`localhost` PROCEDURE `getOsoba`(szukane_miasto_id INTEGER)
BEGIN
SELECT o.id, o.imie, o.nazwisko, m.miasto_nazwa
FROM do_osoba o
INNER JOIN do_miasta m ON o.miastoid = m.id
WHERE m.id=szukane_miasto_id;
END

do_osoba - tabela klientów
do_miasta - tabela miast

procedura byłaby bardziej skomplikowana, do powyższego spokojnie wystarczy zwykły SELECT :)

Z góry dzięki za pomoc :)