sqlserver存儲過程創建和java調用


創建存儲過程

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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM