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 / 25534 < prev    next >
Text File  |  2010-06-15  |  1KB  |  50 lines

  1. CREATE PROCEDURE [dbo].[ISA_spGetCounter]
  2.     @tblBaseName varchar(50),
  3.     @CounterColumn varchar(50),
  4.     @Condition varchar(200),
  5.     @FromDate datetime, 
  6.     @ToDate datetime,
  7.     @ReportType varchar(10),
  8.     @Counter bigint OUTPUT
  9. AS
  10. BEGIN
  11.     -- SET NOCOUNT ON added to prevent extra result sets from
  12.     -- interfering with SELECT statements.
  13.     SET NOCOUNT ON;
  14.  
  15.     DECLARE @SummTableName varchar(100)
  16.     SET @SummTableName = dbo.fnGetSummaryTableName(@tblBaseName, @FromDate, @ToDate, @ReportType)
  17.  
  18.     CREATE TABLE #Table1
  19.     (
  20.         Counter bigint
  21.     )
  22.  
  23.     IF OBJECT_ID (@SummTableName, 'u') IS NOT NULL
  24.     BEGIN
  25.         DECLARE @strQuery varchar(8000)
  26.         SET @strQuery =
  27.         'SELECT
  28.             SUM([' + @CounterColumn + ']) AS [Counter]
  29.         FROM  ' + @SummTableName +
  30.         ' WHERE ([date] >= ' + QUOTENAME(CONVERT(varchar, @FromDate, 126),CHAR(39)) + ' AND [date] <= ' + QUOTENAME(CONVERT(varchar, @ToDate, 126),CHAR(39)) + ')'
  31.  
  32.         if @Condition is NOT NULL
  33.             SET @strQuery = @strQuery + ' AND
  34.         (' + @Condition + ')'
  35.  
  36.         INSERT #Table1
  37.         EXEC(@strQuery)
  38.  
  39.         SET @Counter = (SELECT SUM(Counter) FROM #Table1)
  40.         IF @Counter IS NULL    
  41.         BEGIN
  42.             SET @Counter = 0
  43.         END
  44.     END
  45.     ELSE
  46.     BEGIN
  47.         SET @Counter = 0
  48.     END
  49. END
  50.