home *** CD-ROM | disk | FTP | other *** search
/ moodle.waes.ac.uk / moodle.waes.ac.uk.zip / moodle.waes.ac.uk / TMG / SP1-TMG-KB981324-AMD64-ENU.msp / PCW_CAB_SHFx2 / F2143_msfpcui.dll / BINARY / 25046 < prev    next >
Text File  |  2010-06-15  |  4KB  |  107 lines

  1. CREATE PROCEDURE [dbo].[ISA_spUserSummaryTrim]
  2. AS
  3. BEGIN
  4.     SET NOCOUNT ON;
  5.     IF OBJECT_ID ('tblUserSummary', 'u') IS NULL
  6.         RETURN
  7.     DECLARE @FromDate datetime
  8.     SET @FromDate = (SELECT [FromDate] FROM [tblSummaryParams])
  9.     CREATE TABLE #Table1
  10.     (
  11.         UserName nvarchar(514),
  12.         BytesOut bigint,
  13.         BytesIn bigint,
  14.         TotalBytes bigint,
  15.         Requests bigint,
  16.         AuthorizedFailures bigint,
  17.         WebBytesOut bigint,
  18.         WebBytesIn bigint,
  19.         WebTotalBytes bigint,
  20.         WebRequests bigint,
  21.         [date] datetime
  22.     );
  23.     DECLARE @SQLString1 nvarchar(2000) =
  24.     'SELECT *
  25.     FROM (
  26.         SELECT
  27.             [UserName], [BytesOut], [BytesIn], [TotalBytes], [Requests], [AuthorizedFailures], [WebBytesOut], [WebBytesIn], [WebTotalBytes], [WebRequests],[Date]
  28.         FROM (
  29.             SELECT
  30.                 [UserName], [BytesOut], [BytesIn], [TotalBytes], [Requests], [AuthorizedFailures], [WebBytesOut], [WebBytesIn], [WebTotalBytes], [WebRequests], [Date],
  31.                 ROW_NUMBER() OVER (ORDER BY '
  32.     DECLARE @SQLString2 nvarchar(2000) =
  33.                     ' DESC) AS rownum
  34.             FROM dbo.tblUserSummary
  35.             WHERE '
  36.     DECLARE @SQLString3 nvarchar(2000) =
  37.             ' > 0 ) t
  38.         WHERE rownum <= 5000
  39.     ) ttt
  40.     WHERE [UserName] IS NOT NULL
  41.           AND NOT EXISTS (SELECT * FROM #Table1 WHERE ttt.[UserName] = [UserName])'
  42.     DECLARE @SQLString nvarchar(4000)
  43.     DECLARE @OrderString nvarchar(200)
  44.     SET @OrderString = '[AuthorizedFailures]'
  45.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  46.     INSERT INTO #Table1
  47.     EXECUTE(@SQLString);
  48.     SET @OrderString = '[Requests]'
  49.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  50.     INSERT INTO #Table1
  51.     EXECUTE(@SQLString);
  52.     SET @OrderString = '[TotalBytes]';
  53.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  54.     INSERT INTO #Table1
  55.     EXECUTE(@SQLString);
  56.     SET @OrderString = '[BytesIn]';
  57.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  58.     INSERT INTO #Table1
  59.     EXECUTE(@SQLString);
  60.     SET @OrderString = '[BytesOut]';
  61.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  62.     INSERT INTO #Table1
  63.     EXECUTE(@SQLString);
  64.     SET @OrderString = '[WebRequests]';
  65.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  66.     INSERT INTO #Table1
  67.     EXECUTE(@SQLString);
  68.     SET @OrderString = '[WebTotalBytes]';
  69.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  70.     INSERT INTO #Table1
  71.     EXECUTE(@SQLString);
  72.     SET @OrderString = '[WebBytesIn]';
  73.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  74.     INSERT INTO #Table1
  75.     EXECUTE(@SQLString);
  76.     SET @OrderString = '[WebBytesOut]';
  77.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  78.     INSERT INTO #Table1
  79.     EXECUTE(@SQLString);
  80.     SET @OrderString = '[Requests] - [WebRequests]';
  81.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  82.     INSERT INTO #Table1
  83.     EXECUTE(@SQLString);
  84.     SET @OrderString = '[TotalBytes] - [WebTotalBytes]';
  85.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  86.     INSERT INTO #Table1
  87.     EXECUTE(@SQLString);
  88.     SET @OrderString = '[BytesIn] - [WebBytesIn]';
  89.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  90.     INSERT INTO #Table1
  91.     EXECUTE(@SQLString);
  92.     SET @OrderString = '[BytesOut] - [WebBytesOut]';
  93.     SET @SQLString = @SQLString1 + @OrderString + @SQLString2 + @OrderString + @SQLString3;
  94.     INSERT INTO #Table1
  95.     EXECUTE(@SQLString);
  96.     ---- now add tail
  97.     INSERT INTO #TABLE1
  98.     SELECT
  99.         N'{[23124]}', SUM([BytesOut]), SUM([BytesIn]), SUM([TotalBytes]), SUM([Requests]), SUM([AuthorizedFailures]), SUM([WebBytesOut] ), SUM([WebBytesIn]), SUM([WebTotalBytes]), SUM([WebRequests]), @FromDate
  100.     FROM dbo.tblUserSummary
  101.     WHERE [UserName] NOT IN (SELECT [UserName] FROM #Table1)
  102.     TRUNCATE TABLE [tblUserSummary]
  103.     INSERT INTO [tblUserSummary]
  104.     SELECT *
  105.     FROM #TABLE1
  106. END
  107.