ugrás a tartalomhoz

Tárolt eljárás CURSOR problem

PHPprogramozo · 2009. Nov. 18. (Sze), 10.02
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!
 
1

Megtaláltam a megoldást

PHPprogramozo · 2009. Nov. 18. (Sze), 10.38
Megtaláltam időközben a megoldást. A ciklust rossz helyre raktam be, szóval a fenti cursor pointer műxik helyesen és a SELECT-ben lekérdezett értékek is hibátlanul átadódnak a INTO dec_catLft, dec_catRgt változóknak.