Tárolt eljárás CURSOR problem
Sziasztok!
Új vagyok még a tárolt eljárásokban és elakadtam, kérnék egy kis helpet.
A következőt csináltam:
...
/**
* Változók beállítása
*/
DECLARE dec_catLft INT;
DECLARE dec_catRgt INT;
DECLARE wayDifference INT;
DECLARE rdy INT;
DECLARE v1 INT;
/**
* Lekérdezzük az összes olyan kategória id számát,
* amiknek később a szövegeit is törölni kell
*/
DECLARE catForDel CURSOR FOR
SELECT
category_id
FROM
categories
WHERE
cat_rgt <= dec_catRgt
AND
cat_lft >= dec_catLft;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET rdy = 1;
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING ROLLBACK;
START TRANSACTION;
/**
* Lekérdezzük a kategória jobb és bal értékét id alapján
*/
SELECT
cat_lft,
cat_rgt
INTO
dec_catLft,
dec_catRgt
FROM
categories
WHERE
category_id = catId;
...
Ezzel így nincs is problem, csakhogy nekem a ...DECLARE catForDel CURSOR FOR... az első SELECT után kéne, mert abban határozom meg a dec_catLft, és dec_catRgt értékeit. Csakhogy, ha A SELECTES rész után rakom be a DECLARE catForDel CURSOR FOR... részt, akkor már hibát dob. A kérdésem az lenne, hogy hogyan tudok olyan lekérdezést csinálni egy CURSOR FOR-on belül amihez az előzőekben már szükséges lenne egy SELECT-ből kapott érték?!
Googlit már végig néztem, csak amiket találtam abból ez nem derül ki sajna.
Előre is köszi a helpet mindenkinek!
■ Új vagyok még a tárolt eljárásokban és elakadtam, kérnék egy kis helpet.
A következőt csináltam:
...
/**
* Változók beállítása
*/
DECLARE dec_catLft INT;
DECLARE dec_catRgt INT;
DECLARE wayDifference INT;
DECLARE rdy INT;
DECLARE v1 INT;
/**
* Lekérdezzük az összes olyan kategória id számát,
* amiknek később a szövegeit is törölni kell
*/
DECLARE catForDel CURSOR FOR
SELECT
category_id
FROM
categories
WHERE
cat_rgt <= dec_catRgt
AND
cat_lft >= dec_catLft;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET rdy = 1;
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING ROLLBACK;
START TRANSACTION;
/**
* Lekérdezzük a kategória jobb és bal értékét id alapján
*/
SELECT
cat_lft,
cat_rgt
INTO
dec_catLft,
dec_catRgt
FROM
categories
WHERE
category_id = catId;
...
Ezzel így nincs is problem, csakhogy nekem a ...DECLARE catForDel CURSOR FOR... az első SELECT után kéne, mert abban határozom meg a dec_catLft, és dec_catRgt értékeit. Csakhogy, ha A SELECTES rész után rakom be a DECLARE catForDel CURSOR FOR... részt, akkor már hibát dob. A kérdésem az lenne, hogy hogyan tudok olyan lekérdezést csinálni egy CURSOR FOR-on belül amihez az előzőekben már szükséges lenne egy SELECT-ből kapott érték?!
Googlit már végig néztem, csak amiket találtam abból ez nem derül ki sajna.
Előre is köszi a helpet mindenkinek!
Megtaláltam a megoldást