Tomasz
G.
programista,
konstruktor
elektronik
Temat: [MySQL+Qt] zwracanie tabeli z procedury
WitamCzy 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 :)