代码:

USE [Internal_Timesheet]
GO
/****** Object: StoredProcedure [dbo].[ManageTSReminder] Script Date: 06/27/2014 18:16:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[managerTSReminder]
AS -- =============================================
-- Author: xxxxxx
-- Create date: 06/27/2014
-- Description: Checking Missed TimeSheet
-- ============================================= DECLARE @Uid varchar(25),
@FirstName varchar(25),
@LastName varchar(25),
@team varchar(25),
@Uid2 varchar(25),
@currentdate DATETIME,
@USlist varchar(MAX),
@CNlist varchar(MAX) SET @currentdate = CURRENT_TIMESTAMP
SET @USlist = ''
SET @CNlist = '' DECLARE curP CURSOR
FOR SELECT uid, first_name, last_name, team
FROM Internal_Timesheet.dbo.user_info
WHERE status = 1
AND uid <> 'xxxxxxx' OPEN curP
FETCH NEXT FROM curP INTO @Uid, @FirstName, @LastName, @team WHILE (@@FETCH_STATUS = 0)
BEGIN DECLARE curP2 CURSOR
FOR SELECT uid FROM Internal_Timesheet.dbo.projects_user_timesheet_xref
WHERE uid = @Uid
AND week_start_date < (DATEADD(wk, DATEDIFF(wk, 0,@CURRENTDATE),0)) OPEN curP2
FETCH NEXT FROM curP2 INTO @Uid2 IF (@@FETCH_STATUS <> 0)
BEGIN
IF(@team = 'US') BEGIN
SET @USlist = @USlist + @FirstName + ' ' + @LastName + ';
'
END
ELSE IF(@team = 'CN') BEGIN
SET @CNlist = @CNlist + @FirstName + ' ' + @LastName + ';
'
END
END CLOSE curP2
DEALLOCATE curP2 Fetch Next From curP Into @Uid, @FirstName, @LastName, @team
END
PRINT 'US Team: ' + @USlist
--EXEC msdb.dbo.sp_send_dbmail @profile_name='profilename',
--@recipients='xxxxx@xxxxx.com',
--@subject='Weekly TimeSheet Missing List',
--@body='The system can not find the following user's TimeSheet: --@CNlist --If you have any questions, please contact the system admin.' PRINT 'CN Team: ' + @CNlist
--EXEC msdb.dbo.sp_send_dbmail @profile_name='profilename',
--@recipients='xxxxx@xxxxx.com',
--@subject='Weekly TimeSheet Missing List',
--@body='The system can not find the following user's TimeSheet: --@USlist --If you have any questions, please contact the system admin.' CLOSE curP
DEALLOCATE curP Check Email status SELECT * FROM msdb.dbo.sysmail_sentitems SELECT * FROM msdb.dbo.sysmail_mailitems SELECT * FROM msdb.dbo.sysmail_log

MSSQL Procudure Sample的更多相关文章

  1. SonarQube+Jenkins安装工程中遇到的吭

    1. SonarQube是不是有点飘了,居然要java11+才能运行 解决方案: 重新下载老版本 也不知道哪个版本才好用,就下载了7.0 和6.6,这两个版本用jdk1.8就可以用 2. 配置数据库u ...

  2. mssql 注入

    注入查阅 .返回的是连接的数据库名 .作用是获取连接用户名 .将数据库备份到Web目录下面 ;backup database 数据库名 to disk='c:\inetpub\wwwroot\1.db ...

  3. [干货来袭]MSSQL Server on Linux预览版安装教程(先帮大家踩坑)

    前言 昨天晚上微软爸爸开了全国开发者大会,会上的内容,我就不多说了,园子里面很多.. 我们唐总裁在今年曾今透漏过SQL Server love Linux,果不其然,这次开发者大会上就推出了MSSQL ...

  4. 分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

    1:MSSQL SQL语法篇: BULK INSERT [ database_name . [ schema_name ] . | schema_name . ] [ table_name | vie ...

  5. Linux下UPnP sample分析

        一.UPnP简介   UPnP(Universal Plug and Play)技术是一种屏蔽各种数字设备的硬件和操作系统的通信协议.它是一种数字网络中间件技术,建立在TCP/IP.HTTP协 ...

  6. MSSQL远程连接

    背景:部署公司自己研发的ERP系统. 1)系统架构: .NET+MSSQL. 2)服务器系统:Windows Server 2008 R2 Enterprise 3)数据库:MSSQL Server ...

  7. 学习笔记 MSSQL显错手工注入

    和朋友一起学习,速度就是快.感谢珍惜少年时. 网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段.如下: ' and (查询一段内容)=1 and 'C'='Cnvarchar类型(查询一 ...

  8. MSSQL部分补丁的列表及下载地址(持续更新)

    整理了MSSQL部分补丁的列表及下载地址(截至2016-11-18),供参考下. Edition Version Date Published Download Link SQL Server 201 ...

  9. .NET+IIS+MSSQL配置

    好久没配置.NET+IIS+MSSQL了,跟以前不大一样了.总结下吧. 环境: Windows Server 2012 标准版 x64 SQL Server Express 2014 一.HTTP E ...

随机推荐

  1. 拓扑排序(Toposort)

    摘自:https://blog.csdn.net/qq_35644234/article/details/60578189 <图论算法> 1.拓扑排序的介绍 对一个有向无环图(Direct ...

  2. C语言实训——扑克牌洗牌程序

    说明此程序本来是21点扑克程序的一个被调函数,在这里我单独将它拿出来作为一个小程序. #include<stdio.h> #include<time.h> #include&l ...

  3. 软件工程课堂作业(一)——随机产生四则运算题目(C++)

    一.设计思想: 1.首先主函数只用来调用随机产生并输出运算题目函数,随机产生并输出这一部分功能用一个randout函数实现: 2.随机产生运算数这一功能,两个运算数可以用随机函数生成,并将它们控制在1 ...

  4. Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题

    . 参考界面 : 携程app首页的广告栏, 使用ViewPager实现        自制页面效果图 : 源码下载地址: http://download.csdn.net/detail/han1202 ...

  5. eg_2

    2. 编写一个程序,输出在一个字符串中,指定的字符串出现的次数 第一种方法: public class Test { public static void main(String[] args) { ...

  6. HDU2376Average distance(树形dp|树上任意两点距离和的平均值)

    思路: 引:如果暴力枚举两点再求距离是显然会超时的.转换一下思路,我们可以对每条边,求所有可能的路径经过此边的次数:设这条边两端的点数分别为A和B,那 么这条边被经过的次数就是A*B,它对总的距离和的 ...

  7. osg::Vec2 Vec3 Vec4

    osg::Vec2可以用于保存2D纹理坐标. osg::Vec3是一个三维浮点数数组. osg::Vec4用于保存颜色数据.

  8. MATLAB中mat2gray的用法【转】

    函数简介 函数功能:实现图像矩阵的归一化操作.所谓"归一化"就是使矩阵的每个元素的值都在0和1之间.该函数在数字图像处理中经常用到. 调用格式: I = mat2gray(A, [ ...

  9. sql批量更新关系型数据库

    更改gb_groupd里的chargingrulesname的值UPDATE   tb_group SET tb_group.chargingrulesname =tb_chargingrules.c ...

  10. UVA.674 Coin Change (DP 完全背包)

    UVA.674 Coin Change (DP) 题意分析 有5种硬币, 面值分别为1.5.10.25.50,现在给出金额,问可以用多少种方式组成该面值. 每种硬币的数量是无限的.典型完全背包. 状态 ...