pl/sql建立並使用儲存過程
實現功能——從其他表中統計資料後,插入到另一張表by_train_count中:
參考連結:http://wzhiju.iteye.com/blog/1123157
create or replace procedure up_insert_by_train_count
is
yzTotal number;--郵政車
zbTotal number;--企業自備車
gTdTTotal number;--無代管關係的國鐵、地鐵
zycTotal number;--專運處客車
dpsTotal number;--待配屬客車
tkyTotal number;--鐵科院客車
dcTotal number;--DC600V客車
acTotal number;--AC380V客車
dcbTotal number;--DC48V客車
countTotal number;--保有量總計
begin
delete from by_train_count;
select count(*) into yzTotal FROM DB_traininfo
where buy_type_id ='04' and kmis.PKG_TRAIN.UF_ISVALID_PS(T_ID) = '1';
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(1,'01','郵政車',yzTotal,to_date('2016-04-01','yyyy-MM-dd'));
select count(*) into zbTotal FROM DB_traininfo
where buy_type_id ='05' and kmis.PKG_TRAIN.UF_ISVALID_PS(T_ID) = '1';
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(2,'02','企業自備車',zbTotal,to_date('2016-04-01','yyyy-MM-dd'));
select count(*) into gTdTTotal from DB_TRAININFO_STATIC_BYL_t
where is_dg='0' and (t_ps='01' or t_ps='02')
and STATISTICS_DATE = to_date('2016-04-01','yyyy-MM-dd');
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(3,'03','無代管關係的國鐵、地鐵',gTdTTotal,to_date('2016-04-01','yyyy-MM-dd'));
select count(*) into zycTotal from DB_TRAININFO_STATIC_BYL_t
where station_id='00ZYC' and STATISTICS_DATE = to_date('2016-04-01','yyyy-MM-dd');
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(4,'04','專運處客車',zycTotal,to_date('2016-04-01','yyyy-MM-dd'));
select count(*) into dpsTotal from DB_TRAININFO_STATIC_BYL_t
where station_id='000J0' and STATISTICS_DATE = to_date('2016-04-01','yyyy-MM-dd');
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(5,'05','待配屬客車',dpsTotal,to_date('2016-04-01','yyyy-MM-dd'));
select count(*) into tkyTotal from DB_TRAININFO_STATIC_BYL_t
where station_id='00TKY' and STATISTICS_DATE = to_date('2016-04-01','yyyy-MM-dd');
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(6,'06','鐵科院客車',tkyTotal,to_date('2016-04-01','yyyy-MM-dd'));
select count(*) into dcTotal from DB_TRAININFO_STATIC_BYL_t where power_volt_kind='08'
and station_id in('000J1','000J2','000J3','000J4','000J5','000J6','000J7','000J8','000J9',
'00J10','00J11','00J12','00J13','00J14','00J15','00J18','00J19','00J20')
and STATISTICS_DATE = to_date('2016-04-01','yyyy-MM-dd');
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(7,'07','DC600V客車',dcTotal,to_date('2016-04-01','yyyy-MM-dd'));
select count(*) into acTotal from DB_TRAININFO_STATIC_BYL_t where power_volt_kind='05'
and station_id in('000J1','000J2','000J3','000J4','000J5','000J6','000J7','000J8','000J9',
'00J10','00J11','00J12','00J13','00J14','00J15','00J18','00J19','00J20')
and STATISTICS_DATE = to_date('2016-04-01','yyyy-MM-dd');
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(8,'08','AC380V客車',acTotal,to_date('2016-04-01','yyyy-MM-dd'));
select count(*) into dcbTotal from DB_TRAININFO_STATIC_BYL_t where power_volt_kind='01'
and station_id in('000J1','000J2','000J3','000J4','000J5','000J6','000J7','000J8','000J9',
'00J10','00J11','00J12','00J13','00J14','00J15','00J18','00J19','00J20')
and STATISTICS_DATE = to_date('2016-04-01','yyyy-MM-dd');
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(09,'09','DC48V客車',dcbTotal,to_date('2016-04-01','yyyy-MM-dd'));
select count(*) into countTotal from DB_TRAININFO_STATIC_BYL_t
where STATISTICS_DATE = to_date('2016-04-01','yyyy-MM-dd');
insert into by_train_count(c_id,type_id,type_name,train_num,STATISTICS_DATE)
values(10,'10','保有量總計',countTotal,to_date('2016-04-01','yyyy-MM-dd'));
commit;
end up_insert_by_train_count;