The following lines contain the word 'select', 'insert', 'update' or 'delete':
select max(mr4.current_reading_date) into l_last_reading_date
from eam_meter_readings mr4
where mr4.meter_id = p_meter_id;
select max(meter_reading_id) as meter_reading_id into l_meter_reading_id
from eam_meter_readings
where meter_id = p_meter_id and
current_reading_date = l_last_reading_date;
SELECT max(mr5.meter_reading_id) as meter_reading_id
into l_meter_reading_id
FROM
eam_meter_readings mr5,
(select max(mr4.current_reading_date) as last_reading_date
from eam_meter_readings mr4
where mr4.meter_id = p_meter_id
group by mr4.meter_id
) mr3
WHERE mr5.meter_id = p_meter_id
and mr5.current_reading_date = mr3.last_reading_date
GROUP BY mr5.meter_id;
procedure insert_row
(
p_meter_id IN NUMBER
,p_current_reading IN NUMBER
,p_current_reading_date IN DATE
,p_reset_flag IN VARCHAR2
,p_life_to_date_reading IN NUMBER
,p_wip_entity_id IN NUMBER
,p_description IN VARCHAR2
) IS
l_reading_id NUMBER;
select eam_meter_readings_s.nextval
into l_reading_id
from dual;
insert into eam_meter_readings
(
meter_reading_id,
meter_id,
current_reading,
current_reading_date,
reset_flag,
life_to_date_reading,
wip_entity_id,
description,
creation_date,
created_by,
last_update_date,
last_updated_by
) values
(
l_reading_id,
p_meter_id,
p_current_reading,
p_current_reading_date,
p_reset_flag,
p_life_to_date_reading,
p_wip_entity_id,
p_description,
sysdate,
g_created_by,
sysdate,
g_last_updated_by
);
END insert_row;
select organization_id, asset_number, asset_group_id
into l_org_id, l_asset_number, l_asset_group_id
from wip_discrete_jobs
where wip_entity_id = p_wip_entity_id;
select max(current_reading_date)
into l_reading_date
from eam_meter_readings
where meter_id = p_meter_id and
current_reading_date <= p_reading_date -- use <= here
group by meter_id;
select min(current_reading_date)
into l_reading_date
from eam_meter_readings
where meter_id = p_meter_id and
current_reading_date > p_reading_date -- interesting, use >
group by meter_id;
select max(meter_reading_id)
into l_reading_id
from eam_meter_readings
where meter_id = p_meter_id and current_reading_date = l_reading_date
group by meter_id;
select life_to_date_reading, current_reading
into l_ltd_reading, l_reading
from eam_meter_readings
where meter_reading_id = l_reading_id;
select meter_name, value_change_dir, from_effective_date, to_effective_date
into l_meter_name, l_meter_direction, l_effective_date_from, l_effective_date_to
from eam_meters
where meter_id = p_meter_id;
insert_row(
p_meter_id => p_meter_id
,p_current_reading => l_reading
,p_current_reading_date => p_reading_date
,p_reset_flag => p_reset_flag
,p_life_to_date_reading => l_ltd_reading
,p_wip_entity_id => p_wip_entity_id
,p_description => null
);