[ jmarko2002 @ 13.02.2012. 17:00 ] @
Imam kreiranu proceduru koja bi trebalo da vrsi proveru i upis podataka, e sad nastaje problem kako da pozovem jednu proceduru vise puta u jednom upitu i da pozove sa tim vrednostima istu proceduru
Ovo je otprilike skracena procedura koju koristim...

CREATE DEFINER=`root`@`%` PROCEDURE `probnaprocedura`(idkolona int, vrednost decimal(11,2))
BEGIN
if
...
else
select probnaprocedura ((select xxx from t1 where t1.id=idkolona),vrednost)
end if
END

Da li je ovo nekako moguce izvesti? Kada se pozivaju procedure, dozvoljen je maksimalno jedan red, tj. ne mogu da koristim SELECT...

Hvala puno!
[ bogdan.kecman @ 13.02.2012. 17:53 ] @
SET max_sp_recursion_depth=###;

obrati paznju da ne mozes rekurzivno da pozivas trigger ni stored funkciju, samo stored proceduru

[ jmarko2002 @ 13.02.2012. 18:37 ] @
Ok, jasno mi je da treba da koristim stored proceduru.

Sta se desava sa delom gde mi treba upit select u pozivanju procedure?

CALL PROCEDURE((SELECT....),'XXX','XXX')

izbacuje mi gresku da je dozvoljen maksimalno jedan red u podupitu, kako ovo drugacije mogu da postavim?
[ bogdan.kecman @ 14.02.2012. 00:03 ] @
aj napisi ceo upit posto uopste ne kontam sta pitas ...

da li prenosis upit (String) u stored proceduru ili prenosis vrednost select-a u stored proceduru?
[ jmarko2002 @ 15.02.2012. 14:33 ] @

CREATE DEFINER=`root`@`%` PROCEDURE `probnaprocedura`(idkolona int, vrednost decimal(11,2), provera varchar(2))
BEGIN
if provera='DA' then
update set t2 (...)
else
select probnaprocedura ((select xxx from t1 where t1.provera='NE'),vrednost, 'NE')
end if
END
Treba mi da prenesem vrednost select-a u proceduru, (select t1.id from t1 where t1.provera='NE').
Problem je sto ima vise zapisa iz baze koje treba proslediti u proceduru da bi se ti zapisi azurirali. Trigger mi ne odgovara, zbog nekih parametara koje samo mogu kroz proceduru da obradim...

Orginalna procedura je isuvise zamrsena, tako da je ovo neka jednostavnija forma onoga sto meni konkretno treba.
[ bogdan.kecman @ 15.02.2012. 15:00 ] @
da bi pozvao proceduru sa vrednostima iz select-a radis select into pa tu variablu stavis u parametar procedure
[ jmarko2002 @ 15.02.2012. 16:32 ] @
Problem je sto ja u select upitu imam kao rezultat vise redova...
Da je jedan to mi ne bi bio problem.

[ bogdan.kecman @ 15.02.2012. 16:43 ] @
ne mozes da prosledis vise redova stored proceduri. niti ta tvoja procedura ume da procita vise redova. napravis kursor pa prodjes kroz result set i prozoves proceduru za svaki red...

generalno - nesto si ti tu mnogo lose osmislio, to si trebao da uradis sa trigerima (a to sto kazes da ti trigeri ne rade, to dodatno znaci da si lose osmislio)