创建存储过程

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调用的更多相关文章

  1. 存储过程详解与java调用(转)

    存储过程的一些基本语法: --------------创建存储过程----------------- CREATE PROC [ EDURE ] procedure_name [ ; number ] ...

  2. 创建并在项目中调用SQLSERVER存储过程的简单示例

    使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用.创建存储过程 和数据表一样,在使用之前需要创建存储过程,它的简明语法是: 引用: Create PROC ...

  3. java 调用 sql server存储过程

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  4. java调用存储过程

    在做java调用sqlserver存储过程时遇到了各种各样的问题,不过在不懈的努力之下这些问题还是得以解决了.今天总结一下遇到的问题以及解决的方法. 首先调用存储过程的方法大家都很清楚: String ...

  5. Oracle存储过程创建及调用(转)

    在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...

  6. Java调用MySQL存储过程

    Java调用MySQL的存储过程,需要用JDBC连接,环境eclipse 首先查看MySQL中的数据库的存储过程,接着编写代码调用 mysql> show procedure status; + ...

  7. clob字段的值插入和查询N种方法【包括java调用存储过程传入clob参数】

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import jav ...

  8. JAVA调用数据库存储过程

    下面将举出JAVA对ORACLE数据库存储过程的调用          ConnUtils连接工具类:用来获取连接.释放资源 复制代码 package com.ljq.test; import jav ...

  9. Java调用oracle存储过程通过游标返回临时表数据

    注:本文来源于 <  Java调用oracle存储过程通过游标返回临时表数据   > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...

随机推荐

  1. tensorflow批量读取数据

    Tensorflow 数据读取有三种方式: Preloaded data: 预加载数据,在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况). Feeding: Pyt ...

  2. H3C STA>PC的数据转发

  3. k8s 学习笔记

    常用的kubectl命令   kubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1   --image 指定镜像 - ...

  4. Django 初识之安装下载以及模型目录简介

    Django 一.web应用 web应用什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式 ...

  5. FreeBSD安装过程

    对于现在版本,安装过程中该使用哪些键,现简单总结: Space:选中/取消选中: Tab:切换,主要是分区界面时用它选择输入行: Enter:确定(并进入下一页): 方向键:在一些子组里更换输入项得用 ...

  6. uboot是什么

    u-boot是一种普遍用于嵌入式系统中的Bootloader,Bootloader是在操作系统运行之前执行的一小段程序,通过它,我们可以初始化硬件设备.建立内存空间的映射表,从而建立适当的软硬件环境, ...

  7. c#中的解析HTML组件 -- (HtmlAgilityPack,Jumony,ScrapySharp,NSoup,Fizzler)

    做数据抓取,网络爬虫方面的开发,自然少不了解析HTML源码的操作.那么问题来了,到底.NET如何来解析HTML,有哪些解析HTML源码的好用的,有效的组件呢?   作者在开始做这方面开发的时候就被这些 ...

  8. “SkyReach”对“待就业六人组”和“葫芦娃”的Beta产品测试报告

    对"待就业六人组"的Beta产品测试报告 安装成功截图 第一次上手体验感觉如何?能否正常运行? 第一次上手体验,界面简洁明了,简约的风格比较迎合个人的口味:能够正常运行: 该产品具 ...

  9. Echo团队Beta冲刺随笔集合

    班级:软件工程1916|W 作业:项目Beta冲刺(团队) 团队名称:Echo 作业目标:完成项目Beta冲刺 凡事预则立 Day 0: 凡事预则立 冲刺随笔 Day 1: Beta冲刺第一天 Day ...

  10. Spring Cloud 之 Gateway 知识点:网关

    Spring Cloud Gateway 是使用 netty+webflux 实现因此不需要再引入 web 模块. Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spri ...