[ОТВЕТИТЬ]
Опции темы
10.01.2014 08:45  
OlegON
Код:
select adres_id, lgoty_id, tarif+1, total-fact_sum, 0, meseacgod.fun_meseac(m), meseacgod.fun_god(m,g), null, null, null
from potop
where meseac=m and god=g;
неплохо бы тег CODE использовать.
выполни строку выше, работает она у тебя или нет? У меня выделенное вопросы вызывает, это что?
 
11.01.2014 23:27  
frangu
Твой код не выполняется, потому что m и g это параметры в пакете. Вне пакета их нельзя использовать( пока пакет неисправен).

Выделенное является параметрами в пакете. Вот сам пакет.

create or replace package meseacgod is
function fun_meseac
( f_meseac in potop.meseac%type)
return potop.meseac%type;

function fun_god
(f_god in potop.god%type,
f_meseac in potop.meseac%type)
return potop.god%type;
end meseacgod;
/

create or replace package body meseacgod is

function fun_meseac ( f_meseac in potop.meseac%type)
return potop.meseac%type
is

begin
if f_meseac = 12 then
return 1;
else
return f_meseac+1;
end if;
end fun_meseac;

function fun_god (f_god in potop.god%type,
f_meseac in potop.meseac%type)
return potop.god%type
is

begin
if f_meseac = 12 then
return f_god+1;
else
return f_god;
end if;
end fun_god;

end meseacgod;
 
12.01.2014 01:40  
frangu
Я замутил пакет. Можете сказать, m и g у меня локальные переменные?

create or replace package BODY dolgi_pkgP is

procedure closemonth is
g number(4);
m number(2);

begin

select max(god)into g from potop;
select max(meseac) into m from potop a where a.god = g;

insert into potop(adres_id, lgoty_id, tarif, dolgi, potreblenie, meseac, god, itogo_meseac, total, fact_sum, potop_id)
select adres_id, lgoty_id, tarif+1, total-fact_sum, 0, meseacgod.fun_meseac(m), meseacgod.fun_god(m,g), null, null, null, potop_id.NEXTVAL
from potop
where meseac=m and god=g;

end closemonth;

end dolgi_pkgP;
 
12.01.2014 09:14  
OlegON
Мечешься и перебираешь варианты, не пытаясь разобраться в сути и не показывая нам ошибки, а без этого трудно сказать - в голове никто не компилит. В данном случае - да, локальные для процедуры closemonth, но раньше они в процедуру, вроде, передавались, а теперь просто объявляются. Каша какая-то.
 
 


Опции темы



Часовой пояс GMT +3, время: 23:40.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.