ql 서버 저장 프로세스 생성 및 자바 호출
CREATE procedure [dbo].[getdata_monitor_city_hour_hb]
@aaa varchar(50),
@test varchar(50) OUT
as
begin
SET @test = ' ';
if not exists(select DATETIME FROM monitor_city_hour where city like 'hb%' and DATETIME =(select max(DATETIME) from monitor_site_hour where city like 'hb%'))
begin
insert into monitor_city_hour(DATETIME,so2,no2,pm10,co,o3_1,o3_8,pm25,city)
SELECT DATETIME
,round(avg(cast([so2] as float)),0) so2
,round(avg(cast([no2] as float)),0) no2
,round(avg(cast([pm10] as float)),0) pm10
,round(avg(cast([co] as float)),3) co
,round(avg(cast([o3_1] as float)),0) o3_1
,round(avg(cast([o3_8] as float)),0) o3_8
,round(avg(cast([pm25] as float)),0) pm25
,[city]
FROM monitor_site_hour
where DATETIME=(select max(DATETIME) from monitor_site_hour where city like 'hb%')
and city like 'hb%'
and so2!='—' and no2!='—'and pm10!='—'and co!='—'
and o3_1!='—' and o3_8!='—' and pm25!='—'
group by DATETIME,city;
SET @test =' ';
end
end ;
JAVA 호출
Connection conn=JDBCUtilSingle.getInitJDBCUtil().getConnection();
conn.setAutoCommit(true);
PreparedStatement pst = null;
//
CallableStatement proc=conn.prepareCall("{call getdata_monitor_city_hour_hb(?,?)}");
proc.setString(1, "aa");
proc.registerOutParameter(2, Types.VARCHAR);
proc.execute();
String testPrint = proc.getString(2);
System.out.println(new Date()+",hebeiDataJob,hb , :"+testPrint);
// ,
JDBCUtilSingle.getInitJDBCUtil().closeConnection(pst, conn);