Practical Examples

Incremental Update (Date Window)

UPDATE dbo.MFInvoice
SET Process_ID = 1001
WHERE LastModified > DATEADD(hour,-6,SYSUTCDATETIME());

EXEC dbo.spMFUpdateTableInternal
     @TableName       = N'MFInvoice',
     @Process_ID      = 1001,
     @UpdateDirection = 1;

Grouped ObjID Batch

-- Stage candidate ObjIDs
SELECT ObjID
INTO #UpdateSet
FROM dbo.MFDocument
WHERE Workflow_State = 'Approved';

-- Assign Process_ID
UPDATE d
SET Process_ID = 2002
FROM dbo.MFDocument d
JOIN #UpdateSet u ON u.ObjID = d.ObjID;

EXEC dbo.spMFUpdateTable_ObjIDs_Grouped
     @TableName  = N'MFDocument',
     @Process_ID = 2002;

Lookup Integrity Prep

-- Null value list IDs flagged
SELECT *
FROM dbo.MFContract
WHERE Country_ID IS NULL;

-- After remediation, mark for update
UPDATE dbo.MFContract
SET Process_ID = 3003
WHERE Country_ID IS NOT NULL
  AND Process_ID IS NULL;

EXEC dbo.spMFUpdateTableInternal
     @TableName  = N'MFContract',
     @Process_ID = 3003;

Change History Strategy

EXEC dbo.spMFUpdateObjectChangeHistory
     @TableName               = N'MFEmployee',
     @ChangeWindowHours       = 12,
     @MaxObjectsPerCycle      = 500;