Форум: "Базы";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Внизвыполнение запросов? Найти похожие ветки
← →
stud © (2004-03-29 18:24) [0]выполняю запрос в ибэксперте в редакторе - все работает.
выполняю этот же запрос из процедуры - пустой набор.
← →
Desdechado © (2004-03-29 18:25) [1]в чем вопрос?
где текст запроса и процедуры?
← →
Johnmen © (2004-03-29 18:27) [2]Точка с запятой пропущена в 17 строке...
← →
stud © (2004-03-29 18:30) [3]for select uslugi.id,uslugi.data_usl,uslugi.kod_usl,uslugi.stoim from uslugi
where (uslugi.plat=:kp) and (uslugi.data_usl between :d1 and :d2)
into :ID_,:DATUSL,:T_KODU,:CENA do suspend
возвращает пустой набор
select uslugi.id,uslugi.data_usl,uslugi.kod_usl,uslugi.stoim from uslugi
where (uslugi.plat=:kp) and (uslugi.data_usl between :d1 and :d2)
этот запрос в редакторе возвращает "нормальный" набор
при выполнении этой же процедуры из приложения выдается набор, но при некоторых значениях kp выдает ошибку :
multiple row in singleton select
kp - это уникальный ключ для выбора плательщика.
что это может быть???
← →
stud © (2004-03-29 18:30) [4]
> Johnmen © (29.03.04 18:27) [2]
не исключено))
хотя до сих пор работало
← →
Johnmen © (2004-03-29 18:35) [5]>возвращает пустой набор
Как это видно ?
>выдает ошибку : multiple row in singleton select
Ты продолжаешь утаивать исходную инфу...
:)
← →
Desdechado © (2004-03-29 18:37) [6]1. не вижу процедуры
2. multiple rows при for select невозможны (если подзапросов внутри нет)
← →
stud © (2004-03-29 18:41) [7]вся процедура такая
begin
t_id=0;
for select uslugi.id,uslugi.data_usl,uslugi.kod_usl,uslugi.stoim from uslugi
where (uslugi.plat=:kp) and (uslugi.data_usl between :d1 and :d2)
into :ID_,:DATUSL,:T_KODU,:CENA
do
begin
select uslugi_spr.naim from uslugi_spr where uslugi_spr.kod=:T_KODU into :USLUGA;
if (t_id<>id_) then
select obr_usl.id,obr_usl.data_obr from obr_usl where obr_usl.r_nom=:id_ into :T_OBR,:DATAOBR;
if (t_id<>id_) then
select pacient.id,pacient.family||" "||pacient.name||" "||pacient.otch,pacient.data_r from pacient
where pacient.id=:T_OBR
into :KODPAC,:FIOPAC,:PACDATAR;
if (t_id<>id_) then
select polis.nom,polis.end_dat from polis where polis.kod_pac=:KODPAC and polis.kod_plat=:KP
into :POLNOM,:POLEND;
suspend;
t_id=id_;
end
end
← →
Johnmen © (2004-03-29 18:50) [8]>stud © (29.03.04 18:41) [7]
Все селекты в цикле - полноценные претенденты на multiple row in singleton select.
← →
stud © (2004-03-29 18:51) [9]спасибо разобрался
← →
stud © (2004-03-29 18:51) [10]нет только один.)))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c