1. SQL / Говнокод #5782

    −143

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    IF @Detail is not null
          AND (SELECT
                COUNT(AppraisalResponseID)
                FROM AppraisalResponseHistory
                WHERE AppraisalResponseID = @AppraisalResponseID) >0
          BEGIN
                INSERT INTO AppraisalResponseHistory 
                ( AppraisalResponseID, 
                      PermissionID, 
                      AppraisalTypeQuestionPromptID, 
                      Detail, 
                      ModifiedDate, 
                      PersonID )
          
                SELECT AppraisalResponse.ID, 
                      AppraisalResponse.PermissionID,
                       AppraisalResponse.AppraisalTypeQuestionPromptID,
                       AppraisalResponse.Detail, 
                      AppraisalResponse.ModifiedDate,
                      PersonID
                FROM AppraisalResponse
                WHERE AppraisalResponse.ID=@AppraisalResponseID AND AppraisalResponse.Detail<>@Detail
          
          END
    ELSE
          IF COALESCE(@Detail, '') = ''
    --if the reviewer is inserting a blank record after having filled in a response, insert into history
    --if the blank record is the place holder, do not insert into history
          AND (SELECT
                COUNT(AppraisalResponseID)
                FROM AppraisalResponseHistory
                WHERE AppraisalResponseID = @AppraisalResponseID) >0
          BEGIN
                INSERT INTO AppraisalResponseHistory 
                ( AppraisalResponseID, 
                      PermissionID, 
                      AppraisalTypeQuestionPromptID, 
                      Detail, 
                      ModifiedDate, 
                      PersonID )
          
                SELECT AppraisalResponse.ID, 
                      AppraisalResponse.PermissionID,
                       AppraisalResponse.AppraisalTypeQuestionPromptID,
                       AppraisalResponse.Detail, 
                      AppraisalResponse.ModifiedDate,
                      PersonID
                FROM AppraisalResponse
                WHERE AppraisalResponse.ID=@AppraisalResponseID AND AppraisalResponse.Detail<>@Detail
    END

    If @Detail is not null or blank, I need to check if AppraisalResponse.Detail is blank or null (- I think this is where I am running into so much trouble). If it is blank or null then
    I need to check if there is already a record in AppraisalHistory with this ID. If there is, I need to insert the blank record to history, otherwise not.

    If @Detail is null.
    I need to check if there is already a record in Appraisal History with this ID. If there is, I need to insert the blank record to history, otherwise not.

    Даже описание скопипащено

    Запостил: 3.14159265, 23 Февраля 2011

    Комментарии (3) RSS

    Добавить комментарий