Wednesday, November 18, 2009

This sql store c procedure i haven t use cursor to update all table record. I manage to update full table using sql commands

ALTER  PROCEDURE [dbo].[Ppdates]


AS
BEGIN
   
    SET NOCOUNT ON;

       DELETE FROM tbl_TEMP_PP
    drop table TempResultsData
    SELECT * INTO TempResultsData  FROM qry_Data_Docs WHERE [LIVE DATA] LIKE 'L'


    UPDATE TempResultsData SET [DurationST] = 0
    UPDATE TempResultsData SET [DurationIDC] = 0
    UPDATE TempResultsData SET [DurationIFC] = 0
    UPDATE TempResultsData SET [DurationIFA] = 0
    UPDATE TempResultsData SET [DurationAFC] = 0
   
    UPDATE TempResultsData SET [DurationST] = 10 WHERE [DocuStartA] IS NOT NULL
    UPDATE TempResultsData SET [DurationIDC] = 40 WHERE [SubmitforIDCA] IS NOT NULL
    UPDATE TempResultsData SET [DurationIFC] = 70 WHERE [IssueforCommentsA] IS NOT NULL
    UPDATE TempResultsData SET [DurationIFA] = 90 WHERE [IssueforApprovalA] IS NOT NULL
    UPDATE TempResultsData SET [DurationAFC] = 100 WHERE [IssueforAFCA] IS NOT NULL


    INSERT INTO tbl_TEMP_PP ([Rep CTR Number]) SELECT [Rep CTR Number] FROM TempResultsData where [Live Data]='L'  GROUP BY [Rep CTR Number]
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.[Run Date] = getdate()

    UPDATE tbl_TEMP_PP   SET tbl_TEMP_PP.[Rep CTR Title] =(select top 1 [Rep CTR Title]  from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by [Rep CTR Title])
     -- There is error on the line below needs correcting later  - RN 10 Nov 2009
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.[CTR WEIGHTING] =(select top 1 [CTR WEIGHTING] from  TempResultsData WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by [CTR WEIGHTING])       
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.[Package] = (select top 1 [Package] from  TempResultsData WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by Package)

    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.[DocuStartP] = (select min(TempResultsData.[DocuStartP]) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.DocuEndP = (select max(TempResultsData.DocuEndP) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.SubmitForIDCP = (select min(TempResultsData.SubmitForIDCP) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.ReturnFromIDCP = (select max(TempResultsData.ReturnFromIDCP) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.IssueForCommentsP = (select min(TempResultsData.IssueForCommentsP) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.ClientReturnedCommentsP = (select max(TempResultsData.ClientReturnedCommentsP) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.IssueForApprovalP = (select min(TempResultsData.IssueForApprovalP) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.ClientReturnFromIFAP = (select max(TempResultsData.ClientReturnFromIFAP) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.IssueForAFCP = (select min(TempResultsData.IssueForAFCP) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.ReceiveAFCP = (select max(TempResultsData.ReceiveAFCP) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.DocuStartA = (select min(TempResultsData.DocuStartA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.DocuEndA = (select max(TempResultsData.DocuEndA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.SubmitForIDCA = (select min(TempResultsData.SubmitForIDCA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.ReturnFromIDCA = (select max(TempResultsData.ReturnFromIDCA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.IssueForCommentsA = (select min(TempResultsData.IssueForCommentsA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.ClientReturnedCommentsA = (select max(TempResultsData.ClientReturnedCommentsA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.IssueForApprovalA = (select min(TempResultsData.IssueForApprovalA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.ClientReturnFromIFAA = (select max(TempResultsData.ClientReturnFromIFAA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.IssueForAFCA = (select min(TempResultsData.IssueForAFCA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.ReceiveAFCF = (select max(TempResultsData.ReceiveAFCF) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.ReceiveAFCA = (select max(TempResultsData.ReceiveAFCA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.DurationST = (select avg(TempResultsData.DurationST) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.DurationIDC = (select avg(TempResultsData.DurationIDC) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.DurationIFC = (select avg(TempResultsData.DurationIFC) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])


    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.DurationIFA = (select avg(TempResultsData.DurationIFA) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.DurationAFC = (select avg(TempResultsData.DurationAFC) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])
    UPDATE tbl_TEMP_PP SET tbl_TEMP_PP.Progress = (select avg(TempResultsData.Progress) from TempResultsData  WHERE tbl_TEMP_PP.[Rep CTR Number]=TempResultsData.[Rep CTR Number] group by TempResultsData.[Rep CTR Number])

    exec PPdates2

END