代码:

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. UML设计(团队作业)

    UML设计 一.团队信息 1.队名 读完文章再睡觉 2.团队成员的学号与姓名 学号 姓名 211606381 吴伟华(队长) 211606369 蔺皓雯 211606340 杨池宇 211606372 ...

  2. Android框架 与 源码结构

    一. Android 框架 Android框架层级 : Android 自下 而 上 分为 4层; -- Linux内核层; -- 各种库 和 Android运行环境层; -- 应用框架层; -- 应 ...

  3. java---迭代器(Iterator)

    迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为“轻量级”对象,因为创建它的代价小. Java中的Iterator功能比较简单, ...

  4. jsp连接MYSQL数据库教程(文字+图)

    步骤: 1.在mysql官网下载JDBC驱动程序.网址:https://dev.mysql.com/downloads/connector/j/ 2.把里面的jar包(mysql-connector- ...

  5. 基于3D卷积神经网络的人体行为理解(论文笔记)(转)

    基于3D卷积神经网络的人体行为理解(论文笔记) zouxy09@qq.com http://blog.csdn.net/zouxy09 最近看Deep Learning的论文,看到这篇论文:3D Co ...

  6. PAT 甲级 1048 Find Coins

    https://pintia.cn/problem-sets/994805342720868352/problems/994805432256675840 Eva loves to collect c ...

  7. 原生javascript自定义input[type=radio]效果

    2018年6月27日 更新 找到最为简单的仅仅使用css3的方案 <!DOCTYPE html> <html lang="en"> <head> ...

  8. PHPcms企业黄页中,会员注册之后提示经营模式不得少于1个字符 的解决办法

    后台--模块- 黄页模块 ---  企业库 --- 字段 ---   经营模式 ---  字符长度取值范围 1  改为  0. 

  9. Binding自动侦听

    WPF的强大之一就是数据绑定,Binding是数据桥梁,它的两端是分别是源(Source)和目标(Target),一个简单的类的属性值发生变化,会自动反映在UI界面上,这个属性就是Binding的Pa ...

  10. 【Python】PYTHON 函数局部变量和全局变量

    有这样一段PYTHON代码,从事C语言开发的人都知道,如果定义了全局变量,而函数内没有定义同名的函数变量的话,那么在函数内对该变量的赋值就是对全局变量空间数值的修改, 然后在PYTHON中却不尽相同, ...