Помогите с запросом на IB
От: Аноним  
Дата: 20.12.06 10:17
Оценка:
Пишу следующую конструкцию:
for select
...
do
Begin
for select
...
do
Begin
for select
...
do
Begin
End
End
End

Как только появляется третье вложение, получаю "multiple rows in singleton select".
Мот кто знает, потому что я с IB столкнулся недавно
Re: Помогите с запросом на IB
От: Alex.Che  
Дата: 20.12.06 10:21
Оценка:
Привет, Аноним!
Вы пишешь 20 декабря 2006:

А> Пишу следующую конструкцию:

[Sorry, skipped]

У тебя там где-то ошибка.
Где именно неизвестно.
Ибо текст процедуры ты не приводишь...

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 2.0
Re[2]: Помогите с запросом на IB
От: vpavel  
Дата: 20.12.06 10:31
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>Привет, Аноним!

AC>Вы пишешь 20 декабря 2006:

А>> Пишу следующую конструкцию:

AC>[Sorry, skipped]

AC>У тебя там где-то ошибка.

AC>Где именно неизвестно.
AC>Ибо текст процедуры ты не приводишь...

AC>--

AC>With best regards, Alex Cherednichenko.

CREATE PROCEDURE PI_GRP_BASE (
IN_ID_TYPE INTEGER,
IN_ID_PRODUCEDEPT INTEGER,
IN_ID_FOUNDEPT INTEGER,
IN_ID_GROUP INTEGER)
AS
DECLARE VARIABLE ART_TYPE INTEGER;
DECLARE VARIABLE ID_PRODUCEDEPT INTEGER;
DECLARE VARIABLE ID_FOUNDEPT INTEGER;
DECLARE VARIABLE ID_BASE INTEGER;
begin
for select id_type
from art_types
where id_type = :IN_ID_TYPE or :IN_ID_TYPE = 0
into :ART_TYPE
do
begin
for select id_department
from departments
where active_record = 1
and (id_department = :IN_ID_PRODUCEDEPT or :IN_ID_PRODUCEDEPT = 0)
into :id_producedept
do
begin
for select id_department
from departments
where active_record = 1
and DETECTION = 1
and (id_department = :in_id_foundept or :in_id_foundept = 0)
into :id_foundept
do
Begin
if (not exists (select * from VW_GRP_BASE_GROUP
where id_group = :IN_ID_GROUP
and art_type = :art_type
and id_producedept = :id_producedept
and ID_FOUNDDEPT = :id_foundept)) then
Begin
insert into GRP_BASE( art_type, id_producedept, id_founddept)
values ( :art_type, :id_producedept, :id_foundept);

select id_base
from grp_base
where art_type = :art_type
and id_producedept = :id_producedept
and ID_FOUNDDEPT = :id_foundept
into :id_base;

insert into lnk_grps( id_grp, id_base)
values( :in_id_group, :id_base);
End
End
End
End
end^

Если поможет
Re[2]: Помогите с запросом на IB
От: ser_gunya  
Дата: 20.12.06 10:32
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>Привет, Аноним!

AC>Вы пишешь 20 декабря 2006:

А>> Пишу следующую конструкцию:

AC>[Sorry, skipped]

AC>У тебя там где-то ошибка.

AC>Где именно неизвестно.
AC>Ибо текст процедуры ты не приводишь...

мне кажется дело даже не во вложенности.
"multiple rows in singleton select" — свидетельствует о совмещении многострочной выборки с однострочной(насколько я себе представляю
Re[3]: Помогите с запросом на IB
От: vpavel  
Дата: 20.12.06 10:38
Оценка:
Здравствуйте, ser_gunya, Вы писали:

_>Здравствуйте, Alex.Che, Вы писали:


AC>>Привет, Аноним!

AC>>Вы пишешь 20 декабря 2006:

А>>> Пишу следующую конструкцию:

AC>>[Sorry, skipped]

AC>>У тебя там где-то ошибка.

AC>>Где именно неизвестно.
AC>>Ибо текст процедуры ты не приводишь...

_>мне кажется дело даже не во вложенности.

_>"multiple rows in singleton select" — свидетельствует о совмещении многострочной выборки с однострочной(насколько я себе представляю

Что такое "совмещении многострочной выборки с однострочной"?
Re[4]: Помогите с запросом на IB
От: ser_gunya  
Дата: 20.12.06 10:54
Оценка:
Здравствуйте, vpavel, Вы писали:

_>>мне кажется дело даже не во вложенности.

_>>"multiple rows in singleton select" — свидетельствует о совмещении многострочной выборки с однострочной(насколько я себе представляю

V>Что такое "совмещении многострочной выборки с однострочной"?


например: "select count(*), name from ". Но по твоей процедуре не могу разобраться в чем ошибка.
попробуй отдебажить.
Re[3]: Помогите с запросом на IB
От: Alex.Che  
Дата: 20.12.06 10:56
Оценка: -1
Привет, vpavel!
Вы пишешь 20 декабря 2006:

select id_base
from grp_base
  where art_type = :art_type
    and id_producedept = :id_producedept
    and ID_FOUNDDEPT = :id_foundept
into :id_base;

^^^^^^^^^^^^^^^
Вот этот кусок у тебя возвращает более одной записи.

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 2.0
Re[5]: Помогите с запросом на IB
От: vpavel  
Дата: 20.12.06 11:02
Оценка:
Здравствуйте, ser_gunya, Вы писали:

_>Здравствуйте, vpavel, Вы писали:


_>>>мне кажется дело даже не во вложенности.

_>>>"multiple rows in singleton select" — свидетельствует о совмещении многострочной выборки с однострочной(насколько я себе представляю

V>>Что такое "совмещении многострочной выборки с однострочной"?


_>например: "select count(*), name from ". Но по твоей процедуре не могу разобраться в чем ошибка.

_>попробуй отдебажить.

Спасибо. Ошибку нашел . Не знал еще, что есть дебагер
Re[6]: Помогите с запросом на IB
От: Пацак Россия  
Дата: 20.12.06 12:09
Оценка:
Здравствуйте, vpavel, Вы писали:

V>Спасибо. Ошибку нашел . Не знал еще, что есть дебагер


Нету дебагера. А то, что в IBExpert — это не дебагер.
Ку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.