首页 > 数据库技术 > 详细

sqlserver存储过程创建和java调用

时间:2019-12-13 00:34:59      阅读:242      评论:0      收藏:0      [点我收藏+]

创建存储过程

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

 

sqlserver存储过程创建和java调用

原文:https://www.cnblogs.com/tiandi/p/12032357.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!