MSSQL存储过程应用
1.原始表inoutinfo

2.现在想输入时间范围和操作类型输出对应的结果
2.1创建存储过程
create proc selecttype
@type nvarchar(10),@starttime datetime,@endtime datetime
as
select opdt,opemp,optype,num from inoutinfo where optype=@type and opdt between @starttime and @endtime
go
2.2执行存储过程
exec selecttype '入库','2019-01-18 23:15:25.100','2019-01-18 23:15:25.113'

3.现在想输入时间范围查询所有种类的各自操作的数量
3.1修改存储过程
alter proc selecttype
@starttime datetime,@endtime datetime
as
select optype,sum(num) from inoutinfo where opdt between @starttime and @endtime  group by optype
go
3.2执行存储过程
exec selecttype '2019-01-18 23:15:25.100','2019-01-19 23:15:25.113'

4.现在想输入查询类型,时间范围输出明细或汇总
4.1修改存储过程
alter proc selecttype
@selecttype nvarchar(10),@type nvarchar(10),@starttime datetime,@endtime datetime
as
if(@selecttype='汇总')
	select optype,sum(num) from inoutinfo where opdt between @starttime and @endtime  group by optype
else
	select opdt,opemp,optype,num from inoutinfo where optype=@type and opdt between @starttime and @endtime
go
4.2执行存储过程
exec selecttype '','消耗','2019-01-18 01:15:25.100','2019-01-19 13:20:25.113'

exec selecttype '汇总','','2019-01-18 01:15:25.100','2019-01-19 13:20:25.113'

MSSQL存储过程应用的更多相关文章
- Oracle结果集 (MSSQL存储过程写报表)
		
接触SQL Server比较多,写报表是用存储过程实现. 对Oracle实现像MSSQL那样,还是有很多疑问
 - 托管代码编写mssql存储过程
		
参考:http://wenku.it168.com/d_000642903.shtml 打开vs,创建数据库项目,添加新项,选择sql clr c#, 选择存储过程. 样例: [Microsoft.S ...
 - MSSQL手札三  MSSQL存储过程
		
--存储过程完成一段sql代码的封装 create proc trim --参数列表,多个间用逗号分隔 ) as --自定义代码段 ) set @str1=LTRIM(RTRIM(@str)) pri ...
 - MSSQL存储过程(好久的笔记,翻出来怀念下)
		
语法结构: create proc 名称 参数列表 as 代码段 调用: exec 存储过程名称 参数列表 要点: .可以使用output修饰参数 .可以使用默认值,注意需要将最后的参数设置成默认值 ...
 - MSSQL - 存储过程Return返回值
		
1.存储过程中不使用外部参数. 存储过程: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========================== ...
 - MSSQL - 存储过程事物
		
效果: 创建带有事物的存储过程: use sales --指定数据库 create table bb --创建bb 这个表 ( ID int not null primary key ,--账号 Mo ...
 - MSSQL - 存储过程OutPut返回值
		
1.存储过程中不使用外部参数. 存储过程: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========================== ...
 - MSSQL存储过程接收另一个存储过程返回列表
		
CREATE TABLE #tmp(m_Meter_ID varchar(20),low_Voltage int,num_Attack int,num_DER int,company_id int,a ...
 - mssql 存储过程调用另一个存储过程中的结果的方法分享
		
转自:http://www.maomao365.com/?p=6801 摘要: 下文将分享"一个存储过程"中如何调用"另一个存储过程的返回结果",并应用到自身的 ...
 - Delphi调用MSSQL存储过程返回的多个数据集的方法
		
varaintf:_Recordset;RecordsAffected:OleVariant; begin ADOStoredProc1.Close;ADOStoredProc1.Open;aintf ...
 
随机推荐
- TJOI2018 简要题解
			
数学计算 用线段树记录之前乘过的每一个数,作除法时把原本的乘数改成111即可. 代码: #include<bits/stdc++.h> #define lc (p<<1) #d ...
 - 深入浅出WPF文摘
			
第一部分 深入浅出XMAL 第一章 XMAL概览 第二章 从零起步认识XMAL 第三章 系统学习XMAL语法 第四章 X名称空间详解 第五章 控件与布局 GUI:图形化用户界面 逻辑树: 可视树: : ...
 - Codeforces Round #548 (Div. 2) C dp or 排列组合
			
https://codeforces.com/contest/1139/problem/C 题意 一颗有n个点的树,需要挑选出k个点组成序列(可重复),按照序列的顺序遍历树,假如经过黑色的边,那么这个 ...
 - 安装zookeeper(单机,伪集群)
			
1.登陆zookeeper官网下载 https://zookeeper.apache.org/ zookeeper-3.4.8.tar.gz 解压:tar -zxvf zookeeper-3.4.8. ...
 - Vuejs——(13)组件——杂项
			
版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 本篇资料来于官方文档: http://cn.vuejs.org/guide/components ...
 - 统计C/C++代码行数
			
近日在写一个统计项目中C/C++文件(后缀名:C/CPP/CC/H/HPP文件)代码行数的小程序.给定包含C/C++代码的目录,统计目录里所有C/C++文件的总代码行数.有效代码行数.注释行数.空白行 ...
 - ReactNative学习笔记(五)踩坑总结
			
已经发现的bug或者问题 Android不支持shadow属性: Animated.Image的borderRadius不生效: setNativeProps无法修改图片的source: 没有直接设置 ...
 - Nhibernate入门篇连接Sqlserver的增删查改
			
第一步:创建数据库 create table Emp( EmpId int primary key identity, EmpName ), EmpDate date ) 第二步:去官网下载:http ...
 - kaldi脚本注释二
			
steps/decode.sh #!/bin/bash # Copyright 2012 Johns Hopkins University (Author: Daniel Povey) # Apach ...
 - Python 绝技 —— UDP 服务器与客户端
			
i春秋作家:wasrehpic 0x00 前言 在上一篇文章「Python 绝技 —— TCP 服务器与客户端」中,介绍了传输层的核心协议 TCP ,并运用 Python 脚本的 socket 模块演 ...