代码:

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. mysql 启动报错

    之前用我这个机器做mysql的测试来,今天启动准备搭建一套线上的主从,结果起不来了... 错误日志: ;InnoDB: End of page dump 170807 11:37:02 InnoDB: ...

  2. CentOS Openvpn搭建以及 linux&&windows客户端的连接

    本文参考:http://www.centoscn.com/CentosServer/test/2014/1120/4153.html 一. Server安装准备     (CentOS release ...

  3. Discover the Web(栈模拟)

    Description Standard web browsers contain features to move backward and forward among the pages rece ...

  4. 用php实现一个双向队列 如何实现?

    PHP面试题作业 class DuiLie { private $array = array();//声明空数组 public function setFirst($item){ return arr ...

  5. cacti设置redis监控端口

    1.在Console->Data Templates中选择Redis的模版 在custom Data中勾选中Port2并保存 2.在Console->Data Input Methods中 ...

  6. 累积下学习 C#时和 Java时的不同点

    ==和equals()方法的区别: 首先有一个观点: 这两个都是用来比较值是否相等的 ( 这里的值有时候指的是地址值, 有时候是存储的值; 下面将地址值称为地址, 存储的值称为值 ) 在Java中: ...

  7. TCP/IP协议与OSI协议

    OSI协议是一个理想化的协议,它把网络传输过程分为七层模型,以达到形象化的理解的效果,在实际应用中没有被使用.TCP/IP协议可以看作是它的简化版,是目前应用最广泛的网络协议,许多协议都是以它为基础而 ...

  8. DELPHI Showmodal 模式窗体

    Showmodal 是个函数, Show 是个过程 1.     Showmodal: 概念 : 当你调用一个窗口用 SHOWMODAL 时 , 当这个窗口显示出来后 , 程序不会继续自己执行 , 而 ...

  9. Django 2.0 学习(08):Django 自动化测试

    编写我们的第一个测试 确定bug 幸运的是,在polls应用中存在一个小小的bug急需修复:无论Question的发布日期是最近(最后)的日期,还是将来很多天的日期,Question.was_publ ...

  10. Android 打开照相机、获取相册图片、获取图片并裁减

    一.调用照相机 注:surfaceView在当Activity不在前台的时候,会被销毁(onPause方法之后,执行销毁方法)当Activity回到前台时,在Activity执行onResume方法之 ...