Problem v INTERBASE
4 отговора
105 прегледа
Problem v INTERBASE
Imam problem s izvikvaneto na procedura v interbase i po to4no 4eteneto na rezultata:t.e.
(ima se vpredvid stored proceduri,TEMP_TABLE e predvaritelno suzdadena)
--------------------------
PROCEDURE 1
...
DELETE FROM TEMP_TABLE;
...
INSERT INTO TEMP_TABLE(..алабала)
...
--------------------------
Procedure 2
...
EXECUTE PROCEDURE 1;
SELECT COUNT(ID_TMPTBL) FROM TEMP_TABLE INTO V_RESULT WHERE bla-bla;
...
IF (V_RESULT>0) THEN edi_kvo_si....:))
----------------------------
PROBLEM !!!! V_RUSULT e VINAGI=0 (a ima zapisi v TEMP_TABLE otgovariashti na uslovieto "bla-bla")!!! zashtoto resultatite ot [PROCEDURE 1]
ne sa se COMMIT-vali sled izvikvaneto i ot [PROCEDURE 2]
IMA LI RESHENIE TOZI PROBLEM ????
gledah SET TRANSACTION v helpa... no iavno ima oshte mnogo hliab da iam...ne mojah da se oprava...sam.. :)))
predvaritelno 10x ....

(ima se vpredvid stored proceduri,TEMP_TABLE e predvaritelno suzdadena)
--------------------------
PROCEDURE 1
...
DELETE FROM TEMP_TABLE;
...
INSERT INTO TEMP_TABLE(..алабала)
...
--------------------------
Procedure 2
...
EXECUTE PROCEDURE 1;
SELECT COUNT(ID_TMPTBL) FROM TEMP_TABLE INTO V_RESULT WHERE bla-bla;
...
IF (V_RESULT>0) THEN edi_kvo_si....:))
----------------------------
PROBLEM !!!! V_RUSULT e VINAGI=0 (a ima zapisi v TEMP_TABLE otgovariashti na uslovieto "bla-bla")!!! zashtoto resultatite ot [PROCEDURE 1]
ne sa se COMMIT-vali sled izvikvaneto i ot [PROCEDURE 2]
IMA LI RESHENIE TOZI PROBLEM ????
gledah SET TRANSACTION v helpa... no iavno ima oshte mnogo hliab da iam...ne mojah da se oprava...sam.. :)))
predvaritelno 10x ....
Re: Problem v INTERBASE
S kakwa versiya na interbase si. Pri mene s versiya 7.1.0.131 towa si wyrwi bez problemi.
Re: Problem v INTERBASE
със 6.0 съм...
всъщност целта беше да реализирам рекурсивно извикване на STORED PROCEDURE но след 4-дневна БОРБ'Ъ стигнах до там че нема друг начин освен с временна таблица, защото стека не прави копия на променливите(само предполагам но факт е че не става)...
за съжаление ми се налага да бъда със 6.0 :-(((((
всъщност целта беше да реализирам рекурсивно извикване на STORED PROCEDURE но след 4-дневна БОРБ'Ъ стигнах до там че нема друг начин освен с временна таблица, защото стека не прави копия на променливите(само предполагам но факт е че не става)...
за съжаление ми се налага да бъда със 6.0 :-(((((
Re: Problem v INTERBASE
Няма проблем с променливите при рекурсивното извикване. Всъщност в посочения откъс не виждам такова.
Затова пък виждам една грешка
Може би си искал да бъде :
SELECT COUNT(ID_TMPTBL) FROM TEMP_TABLE WHERE bla-bla into :V_RESULT;
Така, както е написано V_RESULT няма да е даже 0, а null

Затова пък виждам една грешка
Може би си искал да бъде :
SELECT COUNT(ID_TMPTBL) FROM TEMP_TABLE WHERE bla-bla into :V_RESULT;
Така, както е написано V_RESULT няма да е даже 0, а null
Редактирано от NDeu на
Re: Problem v INTERBASE
VERI VERI 10x...
понеже съм прохождащ в SQL-a страшно ме объркват тези ":" ....
това горе не беше рекурсиа....а уж заместител....:)))
върнах се на кода с рекурсията и след редакция на точките се получи...
Още жеднъж благодаря...





понеже съм прохождащ в SQL-a страшно ме объркват тези ":" ....
това горе не беше рекурсиа....а уж заместител....:)))
върнах се на кода с рекурсията и след редакция на точките се получи...
Още жеднъж благодаря...