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 / 25478 < prev    next >
Text File  |  2010-06-15  |  2KB  |  66 lines

  1. CREATE PROCEDURE [dbo].[ISA_spWebHttpReponsesRDL]
  2.     @ReportType varchar(10),
  3.     @FromDate datetime,
  4.     @ToDate datetime
  5. AS
  6. BEGIN
  7.     DECLARE @SummTableName varchar(100)
  8.     SET @SummTableName = dbo.fnGetSummaryTableName('tblHttpResponseSummary', @FromDate, @ToDate, @ReportType)
  9.     CREATE TABLE #Table1
  10.     (
  11.         Response int,
  12.         Requests bigint
  13.     )
  14. -- This query computes the sums of the requests by HTTP response type
  15. -- 0, 200, 304 --> Success
  16. -- 300, 301, 302 --> Moved
  17. -- 401, 403 --> Forbidden
  18. -- 404 --> Not found
  19. -- All the others
  20.     INSERT INTO #Table1 ([Response],[Requests])
  21.     VALUES (1,0)
  22.     INSERT INTO #Table1 ([Response],[Requests])
  23.     VALUES (2,0)
  24.     INSERT INTO #Table1 ([Response],[Requests])
  25.     VALUES (3,0)
  26.     INSERT INTO #Table1 ([Response],[Requests])
  27.     VALUES (4,0)
  28.     IF OBJECT_ID (@SummTableName, 'u') IS NOT NULL
  29.     BEGIN
  30.         DECLARE @strQuery varchar(8000)
  31.         SET @strQuery =
  32.         'SELECT
  33.             CASE
  34.                 WHEN [Response] IN (200, 304, 0) THEN 1
  35.                 WHEN [Response] IN (300, 301, 302) THEN 2
  36.                 WHEN [Response] IN (401, 403) THEN 3
  37.                 WHEN [Response] = 404 THEN 4
  38.                 ELSE 0
  39.             END AS Response,
  40.             SUM([Requests]) AS Requests
  41.         FROM ' + @SummTableName + '
  42.         WHERE ([date] >= ' + QUOTENAME(CONVERT(varchar, @FromDate, 126),CHAR(39)) + ' AND [date] <= ' + QUOTENAME(CONVERT(varchar, @ToDate, 126),CHAR(39)) + ')
  43.         GROUP BY [Response]
  44.         '
  45.         INSERT #Table1
  46.         EXEC(@strQuery)
  47.     END
  48.     DECLARE @TotalRequests bigint
  49.     SET @TotalRequests = (SELECT SUM([Requests]) FROM #Table1)
  50.     IF (@TotalRequests = 0)
  51.         SET @TotalRequests = 1
  52.     SELECT
  53.         CASE
  54.             WHEN [Response] = 1 THEN N'{[23063]}'
  55.             WHEN [Response] = 2 THEN N'{[23064]}'
  56.             WHEN [Response] = 3 THEN N'{[23065]}'
  57.             WHEN [Response] = 4 THEN N'{[23066]}'
  58.             ELSE N'{[23067]}'
  59.         END AS Response,
  60.         SUM([Requests]) AS Requests,
  61.         CAST(SUM([Requests]) AS DECIMAL)/@TotalRequests AS RequestRatio
  62.     FROM #Table1
  63.     GROUP BY [Response]
  64.     ORDER BY [Requests] DESC;
  65. END
  66.