ALTER PROCEDURE [dbo].[StWRe_GetReportDataSource]

@FunctionName NVARCHAR(20)  = NULL,

@年份           INT                 =   NULL,

@月份           INT                 =   NULL,

@年级           CHAR(4)             =   NULL,

@学院ID           CHAR(8)            =   NULL,

@专业ID           CHAR(8)        =   NULL,

@学年           NVARCHAR(10)        =   NULL

AS

IF(@FunctionName='StipendStopGrant')

BEGIN

SELECT * FROM StipendStopGrantView

END

--普通助学金停发

IF(@FunctionName='CommonGrantSummary')

BEGIN

SELECT     '普通奖学金' AS 项目, SUM(停发金额) AS 停发金额 ,  停发起始日期, 原因 AS 停发原因

FROM         CommonGrantSummaryView

WHERE(年份=@年份 AND 月份=@月份)

GROUP BY 停发起始日期, 原因

ORDER BY 停发起始日期

--EXECUTE [dbo].[StWRe_GetReportDataSource] @FunctionName='CommonGrantSummary',@年份=2010,@月份=1

END

IF(@FunctionName='StipendSearch')

BEGIN

SELECT ID,助学金类别ID,学年

FROM   StW_助学金

END

--普通助学金汇总

IF(@FunctionName='CommonGrantsReport')

BEGIN

SELECT a.普通奖学金 AS 上月,

b.年份,

b.月份,

b.普通奖学金 AS 本月

INTO #TempTableGrants

FROM CommonGrantsView a RIGHT JOIN CommonGrantsView b

ON(a.年份=b.年份 AND a.月份+1=b.月份) OR (a.年份+1=b.年份 AND a.月份=12 AND b.月份=1)

SELECT ISNULL(上月,0) AS 上月,

年份,

月份,

本月,

CASE

WHEN  本月-ISNULL(上月,0)>0

THEN  本月-ISNULL(上月,0)

ELSE  0

END AS 增加,

CASE

WHEN  本月-ISNULL(上月,0)<0

THEN ABS(本月-ISNULL(上月,0))

ELSE  0

END AS 减少,

0 AS 其他,

0 AS 补发

FROM #TempTableGrants

WHERE(年份=@年份 AND 月份=@月份)

drop table #TempTableGrants END--EXEC [StWRe_GetReportDataSource] @FunctionName='CommonGrantsReport',@年份=2009,@月份=1 IF(@FunctionName='Test') BEGIN      SELECT * FROM Test END IF(@FunctionName='ScholarShipView') BEGIN SELECT *,(奖学金单项金额*人数) AS 奖学金金额 FROM StW_ScholarShipView WHERE(@学院ID IS NULL OR @学院ID='' OR 学院ID=@学院ID) AND      (@专业ID IS NULL OR @专业ID='' OR 专业ID=@专业ID) AND      (@年级 IS NULL OR @年级='' OR 年级=@年级) AND      (@学年 IS NULL OR @学年='' OR 学年=@学年) END

mysql 自连接 临时表_存储过程中表(table)的自连接及临时表示例 (自认为好的存储过程示例)...相关推荐

  1. mysql 存储过程临时表_在MySQL存储过程中创建的临时表的范围

    问题撤销!当我拼写正确的一切,问题消失了! 我有一个MySQL存储过程创建一个临时表.当我从mysql提示符调用过程时,它似乎运行成功,但是如果我从临时表中选择COUNT(*),我会收到一个错误,表示 ...

  2. mysql 存储过程声明式游标_Mysql 存储过程中使用游标循环读取临时表

    游标 游标(Cursor)是用于查看或者处理结果集中的数据的一种方法.游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力. 游标的使用方式 定义游标:Declare 游标名称 CURSOR ...

  3. mysql 临时列_如何在MySQL中列出临时表列?

    要列出MySQL中的临时表列,让我们首先创建一个临时表. 这是一个例子.我们创建了一个临时表,其中包含一些列,其中包括学生的详细信息-mysql> CREATE TEMPORARY TABLE  ...

  4. mysql 临时表_第05问:MySQL 在处理临时结果集时,内部临时表会使用多少内存?...

    问题: MySQL 在处理临时结果集(UNION 运算 / 聚合运算等)时,会用到内部临时表(internal temporary table). 那么内部临时表会使用多少内存呢? 实验: 我们先创建 ...

  5. sql 临时表_深度分析 | JDBC与MySQL临时表空间的分析

    原创作者:爱可生开源社区 背景 应用 JDBC 连接参数采用 useCursorFetch=true,查询结果集存放在 mysqld 临时表空间中,导致ibtmp1 文件大小暴增到90多G,耗尽服务器 ...

  6. mysql set语句_从强网杯随便注浅析mysql存储过程

    从强网杯随便注浅析mysql存储过程 Author: Smity 去年的强网杯,出了一道mysql堆叠注入叫随便注,这道题被好多比赛玩了一整年,直到现在还是有各种新姿势,但是今天我忽然想到似乎没有对这 ...

  7. mysql附录建表_用CREATE TABLE 语句创建数据表

    用CREATE TABLE 语句创建数据表 用 CREATE TABLE 语句创建表.此语句的完整语法是相当复杂的,因为存在那么多的可选子句,但在实际中此语句的应用相当简单.如我们在第 1 章中使用的 ...

  8. mysql 帮助命令_一篇文章帮你搞定所有MySQL命令!

    MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等.而这两个方面又可以细分如下: MySQL常用语句 表 ...

  9. mysql级联删除_近百道MySQL面试题和答案(2020收藏版)(完结篇)

    7. 什么是死锁?怎么解决? 死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象. 常见的解决死锁的方法 1.如果不同程序会并发存取多个表,尽量约定以相同的顺序访 ...

  10. 老男孩mysql备份脚本_老男孩-标杆班级-MySQL-lesson07-备份恢复

    如果您对数据库感兴趣,可以添加 DBA解决方案QQ群:855439640 1. 运维在数据库备份恢复方面的职责 1.1 设计备份策略 全备 .增量.时间.自动 1.2 日常备份检查 备份存在性 备份空 ...

最新文章

  1. HDLBits 系列(42)根据仿真波形来设计电路之时序逻辑
  2. 马斯克放话:6个月内公测卫星互联网!颠覆5G的将不是6G
  3. 1071 Speech Patterns (25 分)【难度: 简单 / 知识点: 哈希表 字符串】
  4. android 虚拟按键 增减和删除的方法
  5. 01.analyzer简介及char_filter组件
  6. window下eclipse搭建C/C++开发环境(超简单无需插件版) .
  7. 学会这些, 让你的服务器远离***影响
  8. Sql Server之旅——第十三站 深入的探讨锁机制
  9. 这个例子主要展示了通过点击button实现viewflipper页面切换
  10. Session重点整理
  11. 4.7清明考试(完蛋)
  12. 博途中用的是c吗_博图WINCC里如何添加c脚本
  13. 2种方式打开jar文件
  14. html二级页面怎么设置,网页中的二级页面和三级页面是什么啊?怎么做?
  15. 全球高效能人士给青年的50个忠告(上) --转载
  16. response.setHeader各种用法详解
  17. tensorRT教程——tensor RT OP理解(实现自定义层,搭建网络)
  18. 嵊州D3T1 山魔 烙饼问题
  19. (转)经典SQL查询语句大全
  20. 百度地图根据经纬度计算距离php,详解js根据百度地图提供经纬度计算两点距离...

热门文章

  1. linux吃鸡游戏下载,网络大逃杀2077
  2. Nissi商城序章(二):制定开发/设计规约
  3. 函数指针还是c++虚函数_C和C++哪个效率更高?
  4. 服务器不在工作_十次方:服务器租用一般有哪些品牌
  5. PHP中的预定义常量、预定义变量、魔术常量
  6. 六石编程学:自动化测试的优点
  7. UOS浏览器不支持NPAPI插件,怎么办?
  8. this version of the Java Runtime only recognizes class file versions up to 52.0
  9. WORD中如何进行双行合一
  10. 首发:成功解决MediaCodec中decoder超过720出错的问题