Циклы в stored proc

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
mrak
Сообщения: 6
Зарегистрирован: 27 янв 2005, 11:41

Циклы в stored proc

Сообщение mrak » 25 мар 2005, 09:34

Актуально для меня, как написать цикл в хранимой процедуре?
есть 20 таблиц из которых нужно в цикле сделать выборку.

MuirsheenDurkin
Сообщения: 44
Зарегистрирован: 21 янв 2005, 10:18

Re: Циклы в stored proc

Сообщение MuirsheenDurkin » 25 мар 2005, 09:46

mrak писал(а):есть 20 таблиц из которых нужно в цикле сделать выборку.
Подробнее, дьявол таится в деталях, как водится.

mrak
Сообщения: 6
Зарегистрирован: 27 янв 2005, 11:41

Сообщение mrak » 25 мар 2005, 09:53

Код: Выделить всё

select sum(dlog) from ab1y2005 where phone=:NPHONE
ab1y2005 первая из таблиц

mrak
Сообщения: 6
Зарегистрирован: 27 янв 2005, 11:41

Сообщение mrak » 25 мар 2005, 10:46

Может кто нибудь кинет ссылочкой на Stored Proc SQL Ref ?

MuirsheenDurkin
Сообщения: 44
Зарегистрирован: 21 янв 2005, 10:18

Сообщение MuirsheenDurkin » 25 мар 2005, 11:01

mrak писал(а):Может кто нибудь кинет ссылочкой на Stored Proc SQL Ref ?
Это легко.
http://www.ibase.ru/v6/doc/datadef.zip
и вот это прочитай в части, касающейся EXECUTE STATEMENT
http://www.ibase.ru/firebird/fb_1_5_releasenotes.pdf

eugeney
Сообщения: 79
Зарегистрирован: 29 окт 2004, 18:51

Re: Циклы в stored proc

Сообщение eugeney » 25 мар 2005, 15:15

mrak писал(а):Актуально для меня, как написать цикл в хранимой процедуре?
есть 20 таблиц из которых нужно в цикле сделать выборку.
Напиши что ты хочеш чтобы было.
На самом деле есть
for select .... from ... into ... do
for select .... from ... into ... do
begin
....
end
Второй for select будет вызываться для каждой строчки первого for select. Как в обчном форе. Сделать цыкл и в нем выполнять next из двух таблиц нельзя.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 25 мар 2005, 18:30

а джойны уже отменили?

Ответить