zoukankan      html  css  js  c++  java
  • MSSQL Procudure Sample

    代码:

    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
  • 相关阅读:
    博客
    Windows Live Writer
    VirtualBox
    Linux dd
    Nginx与tomcat组合的简单使用
    压力测试之badboy和Jmeter的简单使用方法
    WebGIS中基于控制点库进行SHP数据坐标转换的一种查询优化策略
    浅谈利用SQLite存储离散瓦片的思路和实现方法
    常见ArcGIS操作(以10.0为例)
    (二十一)WebGIS中鹰眼的实现思路
  • 原文地址:https://www.cnblogs.com/puloieswind/p/5706190.html
Copyright © 2011-2022 走看看