Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Вниз

Можно ли использовать запрос из нескольких таблиц, одна из   Найти похожие ветки 

 
Rule ©   (2005-01-24 19:42) [0]

которых хранимаю процедура, ну Типа:
select c.*, d.* from naklad c, pereuchettovaronnaklad(c.id) d
где pereuchettovaronnaklad(c.id) естественно хранимаю процедура, которая имеет входной параметр в виде айди наклданой ... ? так вот парсер пропускает, а при выполнении пишет чтото наподобии
"The cursor identified in the update or delete statement is not positionet on a row.
no current record for fetch operation"

Ой простите, забыл, использую фаерберд 1.5, запрос выполняю в эксперте ...

для пущего страха привожу код процедуры (чтоб вы убедились что там нет операций удаления и вставки)

CREATE PROCEDURE PEREUCHETTOVARONNAKLAD (
   ID_NAKLAD INTEGER)
RETURNS (
   NEW_SUMMA NUMERIC(7,2),
   NEW_PRICE NUMERIC(7,2),
   ID_MOVETOVAR INTEGER,
   PRICEIN NUMERIC(7,2),
   SUMMIN NUMERIC(7,2),
   NAME VARCHAR(200),
   EDIZMER VARCHAR(3),
   CCOUNT NUMERIC(15,2),
   PRICE NUMERIC(7,2),
   SUMMA NUMERIC(7,2))
AS
DECLARE VARIABLE TID INTEGER;
begin
for SELECT c.name, d.name,  b."VALUE", e.price, (b."VALUE"*e.price), c.id, b.id, g.new_price, (g.new_price*b."VALUE")
   from move_naklad a, movetovar b, tovar c, edizmer d, pricetovar e, tovarpereuchet g
   where a.id_naklad=:id_naklad
   and a.id_movetovar=b.id
   and b.id_tovar=c.id
   and c.id_edizmer=d.id
   and c.id=e.id_tovar
   and g.id_tovar=c.id
   and g.id_movetovar=b.id
   and g.startend=0
   and e.adatime=(select distinct max(f.adatime)
           from pricetovar f where f.id_tovar=e.id_tovar and f.adatime<=b.adatime)
   into :name, :edizmer, :ccount, :price, :summa, :TID, :id_movetovar, :new_price, :new_summa
   do
       begin

            select coalesce(price,0) from gettovarpricein(:TID) into :pricein;
            summin=pricein*ccount;

            suspend;

       end
end


посоветуйте пожалуйста кто чего может, код таблицы приводить не буду, там просто несколько полей и все ....

Заранее спасибо ...


 
Rule ©   (2005-01-24 19:52) [1]

ну я в принципе решил этот вопрос решается, если убрать входной параметр в процедуре и сделать чтоб процедура возвращала не только товар по нужной накладной, а по всем накладным и плюс поле номера наклданой ..., и связать их по этому полю ....

ну а как с параметрами, неужто нельзя ?


 
TohaNik ©   (2005-01-24 20:02) [2]

Да можно
А весь запрос увидеть?


 
Rule ©   (2005-01-25 17:49) [3]

TohaNik ©   (24.01.05 20:02) [2]

select c.*, d.* from naklad c, pereuchettovaronnaklad(c.id) d

я писал


 
TohaNik ©   (2005-01-25 20:22) [4]

С параметрами точно можно,иначе смысл...

может так:
select c.*, d.* from naklad c, pereuchettovaronnaklad(c.id) d
where c.id = ?c.id

или
select d.* from pereuchettovaronnaklad(c.id) d
а из процедуры данные по naklad передавать


 
Johnmen ©   (2005-01-26 09:24) [5]

>Rule ©   (25.01.05 17:49) [3]

Такое в принципе работать не будет.
см. http://www.krista.ru/ib/proc-join.html


 
Rule ©   (2005-01-26 14:05) [6]

TohaNik ©   (25.01.05 20:22) [4]
ничего не получается все равно ...

Johnmen ©   (26.01.05 9:24) [5]
Огромное спасибо ...
очень, очень, очень полезная ссылка ...



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.036 c
6-1101749591
Serega
2004-11-29 20:33
2005.02.27
Формирование TCP/IP пакетов вручную


6-1103612709
VAleksey
2004-12-21 10:05
2005.02.27
WinInet. Проблемы с HttpSendRequest.


1-1108454685
juice
2005-02-15 11:04
2005.02.27
Linker. Генерация C++ object files


14-1107762736
Alex_Petr
2005-02-07 10:52
2005.02.27
Директива: Stop On Delphi Exceptions


3-1107105289
MakedoneZ
2005-01-30 20:14
2005.02.27
Какая ф-я возвращает кол-во полей некоторой таблицы.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский