Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem SQL - výpis dat

takze urobis to nasledovne:

mam napriklad tabulku kategorie so stlpcami
id_katg, nazov, pid_katg (akoze nadradene ID)

naplnil som si ju datami:

+---------+----------+----------+
| id_katg | nazov    | pid_katg |
+---------+----------+----------+
|       1 | auto     |     NULL |
|       2 | 3 dv     |        1 |
|       3 | 5 dv     |        1 |
|       4 | hatchbag |        2 |
+---------+----------+----------+

urobil som si pomocnu tabulku vypis, ktora ma totozne 3 polia.

a nakoniec som spravil nasledovnu proceduru:

CREATE PROCEDURE REK_KATG (IN _pid_katg int)
BEGIN
	DECLARE _id_katg INT;
	DECLARE XCUR CURSOR FOR SELECT id_katg FROM kategoria WHERE pid_katg = _pid_katg;
	
	INSERT INTO VYPIS
	SELECT id_katg, nazov, pid_katg FROM kategoria where id_katg = _pid_katg;
	
	OPEN XCUR;

	BEGIN
	DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
	LOOP
	FETCH XCUR INTO _id_katg;
	
		CALL REK_KATG(_id_katg);
	
	END LOOP;
	END;
	
	CLOSE XCUR;
END

ked potom spustis proceduru CALL REK_KATG(1); naplni ti tabulku vypis potrebnymi riadkami. Pred opakovanym spustenim je tabulku vypis potrebne premazat.
samozrejme sa to da robit aj bez premazavania nejakym pomocnym ID volania a pod. Toto je len nacrt, staci si ho upravit podla seba. jednoduchsie to asi nebude.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny