Guest User

Untitled

a guest
Apr 16th, 2012
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 4.46 KB | None | 0 0
  1. USE [SDS_DevSchoolDistrict]
  2. GO
  3. /****** Object:  StoredProcedure [dbo].[CreateUserDefinedAssessmentTestGroup]    Script Date: 04/16/2012 19:29:07 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- =============================================
  9. -- Author:      <Author,,Name>
  10. -- Create date: <Create Date,,>
  11. -- Description: <Description,,>
  12. -- =============================================
  13. ALTER PROCEDURE [dbo].[CreateUserDefinedAssessmentTestGroup]
  14.     @ApplicationUserId  int,
  15.     @AssessmentTestGroupName    varchar(100),
  16.     @AssessmentTestIdList       varchar(4000) = NULL,
  17.     @AssessmentTestGroupId      int OUTPUT
  18. AS
  19. BEGIN
  20.  
  21.         /*---------------------------------------------------------
  22.         -- Debugging
  23.         ---------------------------------------------------------
  24.         -- SELECT TOP 3 AssessmentId FROM Assessments ORDER BY AssessmentId
  25.         -- SELECT * FROM AssessmentGRoups SG WHERE SG.ApplicationUserId IS NOT NULL
  26.         DECLARE @ApplicationUserId int          SET @ApplicationUserId = 357
  27.         DECLARE @AssessmentGroupId  int = 22588
  28.         DECLARE @AssessmentIdList   varchar(4000) = '197, 198, 199'
  29.         ---------------------------------------------------------*/
  30.  
  31.  
  32.  
  33.         ------------------------------------------------------
  34.         DECLARE @MyAssessmentTestGroupId int
  35.         ------------------------------------------------------
  36.         SELECT  @MyAssessmentTestGroupId = ATG.AssessmentTestGroupId
  37.         FROM    AssessmentTestGroups ATG
  38.         WHERE   ATG.AssessmentTestGroupLabel = @AssessmentTestGroupName
  39.           AND   ATG.ApplicationUserId = @ApplicationUserId
  40.         ------------------------------------------------------
  41.  
  42.         ------------------------------------------------------
  43.         DECLARE @TheirAssessmentTestGroupId int
  44.         ------------------------------------------------------
  45.         SELECT  @MyAssessmentTestGroupId = ATG.AssessmentTestGroupId
  46.         FROM    AssessmentTestGroups ATG
  47.         WHERE   ATG.AssessmentTestGroupLabel = @AssessmentTestGroupName
  48.           AND   ATG.ApplicationUserId <> @ApplicationUserId
  49.         ------------------------------------------------------
  50.  
  51.  
  52.         IF(@MyAssessmentTestGroupId IS NOT NULL)
  53.         BEGIN   ------------------------------------------------------
  54.                 SET @AssessmentTestGroupId = @MyAssessmentTestGroupId
  55.  
  56.         END     ------------------------------------------------------
  57.         ELSE IF(@TheirAssessmentTestGroupId IS NOT NULL)
  58.         BEGIN   ------------------------------------------------------
  59.                 SET @AssessmentTestGroupName = @AssessmentTestGroupName + ' (' + CAST(@ApplicationUserId as varchar(8)) + ')'
  60.                 ------------------------------------------------------
  61.                 INSERT  AssessmentTestGroups (AssessmentTestGroup, AssessmentTestGroupLabel, ApplicationUserId)
  62.                 VALUES (@AssessmentTestGroupName, @AssessmentTestGroupName, @ApplicationUserId)
  63.                 ------------------------------------------------------
  64.                 SET @AssessmentTestGroupId = SCOPE_IDENTITY()
  65.         END     ------------------------------------------------------
  66.         ELSE
  67.         BEGIN   ------------------------------------------------------
  68.                 INSERT  AssessmentTestGroups (AssessmentTestGroup, AssessmentTestGroupLabel, ApplicationUserId)
  69.                 VALUES (@AssessmentTestGroupName, @AssessmentTestGroupName, @ApplicationUserId)
  70.                 ------------------------------------------------------
  71.                 SET @AssessmentTestGroupId = SCOPE_IDENTITY()
  72.         END     ------------------------------------------------------
  73.        
  74.        
  75.  
  76.        
  77.  
  78.         -------------------------------------------
  79.         --
  80.         -------------------------------------------
  81.         IF(ISNULL(@AssessmentTestIdList, '') <> '')
  82.         BEGIN
  83.                 DECLARE @AssessmentTestIds TABLE ( AssessmentTestId int )
  84.                 INSERT  @AssessmentTestIds
  85.                 SELECT  CAST(Value as int)
  86.                 FROM    dbo.SplitList(ISNULL(@AssessmentTestIdList,''), ',')
  87.                 -------------------------------------------
  88.                 --SELECT * FROM @AssessmentTestIds
  89.                 -------------------------------------------
  90.  
  91.  
  92.                 -------------------------------------------
  93.                 --
  94.                 -------------------------------------------
  95.                 INSERT  AssessmentTests_Groups(AssessmentTestId, AssessmentTestGroupId)
  96.                 SELECT  AssessmentTestId, @AssessmentTestGroupId
  97.                 FROM    @AssessmentTestIds S
  98.                 WHERE   NOT EXISTS (
  99.                                 SELECT  1
  100.                                 FROM    AssessmentTests_Groups S_G
  101.                                 WHERE   S_G.AssessmentTestId = S.AssessmentTestId
  102.                                   AND   S_G.AssessmentTestGroupId = @AssessmentTestGroupId
  103.                         )
  104.                 -------------------------------------------
  105.                 --SELECT * FROM Assessments_Groups WHERE AssessmentGroupId = @AssessmentGroupId
  106.                 -------------------------------------------
  107.         END
  108.         -------------------------------------------
  109.  
  110. END
Advertisement
Add Comment
Please, Sign In to add comment