Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
1-1108475127
Muh
2005-02-15 16:45
2005.02.27
Как связать расширение файла с моей программой


14-1106043953
ocean
2005-01-18 13:25
2005.02.27
Женщина-программист


1-1108220877
Саня2
2005-02-12 18:07
2005.02.27
Работа с TabbedNotebook


4-1105716722
Scained
2005-01-14 18:32
2005.02.27
Если пример как на D6 записать свой код в PE-EXE файл


1-1108217061
Arazel
2005-02-12 17:04
2005.02.27
Как запретить DELPHI создавать резервные копий файлов! ~...pas