Toto téma uvádí příklady dotazů SQL, které jsou použitelné při vytváření sestav produktu IBM® Enterprise Records. Tyto příklady vycházejí z předpřipravených (OOTB) šablon IBM Enterprise Records Crystal Report.
Tento dotaz vrací auditované události, ke kterým došlo u instancí kategorie záznamů pod určeným uzlem plánu souborů a v určeném časovém rámci:
SELECT rc.PathName, ra.DateLastModified, ra.LastModifier, ra.AuditActionType FROM RMAudit ra INNER JOIN RecordCategory rc ON ra.SourceObjectId = rc.Id WHERE ra.DateLastModified >= 20090101T000000Z AND ra.DateLastModified <= 20090131T000000Z AND rc.This INSUBFOLDER '/Records Management/File Plan'
Následující dotaz vrací auditované akce konkrétního uživatele u záznamů nacházejících se ve specifickém umístění plánu souborů, ke kterým došlo ve specifickém časovém rámci:
SELECT ra.DateLastModified, ra.LastModifier, ra.AuditActionType, ri.DocumentTitle, rmf.PathName FROM ((RMAudit ra INNER JOIN RecordInfo ri ON ra.SourceObjectId = ri.Id) INNER JOIN ReferentialContainmentRelationship RCR on ri.This = rcr.Head) INNER JOIN RMFolder rmf ON rcr.Tail = rmf.This WHERE ra.DateLastModified >= 2009-01-01 AND ra.DateLastModified <= 2009-01-12 AND ra.LastModifier = 'rangelj' AND ri.This INFOLDER '/Records Management/File Plan/Cat1'
Následující dotaz vrací složky záznamů nacházející se pod určeným uzlem plánu souborů a vytvořené určeným uživatelem v určeném časovém rámci:
SELECT rf.PathName, rf.DateCreated, l.LocationName As HomeLocation FROM RecordFolder rf LEFT OUTER JOIN Location l ON rf.HomeLocation = l.This WHERE rf.DateCreated >= 2009-01-01 AND rf.DateCreated <= 2009-01-31 AND rf.Creator = 'rangelj' AND rf.This INSUBFOLDER '/Records Management/File Plan'
Všimněte si použití levého vnějšího spojení, které slouží k zahrnutí názvu případné instance HomeLocation, která může být přiřazena ke konkrétní instanci složky záznamů.
SELECT v.DateClosed, v.ReOpenedDate, v.VolumeName FROM Volume v WHERE v.DateClosed IS NOT NULL AND v.ReOpenedDate IS NOT NULL AND v.Parent = OBJECT('{24D91623-6C0A-4DB7-9C87-5C172F4A09D2}')
Všimněte si použití efektivnějšího porovnání vlastností Volume.Parent v klauzuli WHERE namísto alternativního operátoru INFOLDER.
Tento dotaz vrací informace vytvářející vztah mezi daty plánu odebrání a záznamy používajícími přidruženou vlastnost RecordType.
SELECT ds.DisposalScheduleName, a1.ActionType, rc.PathName, rcr.ContainmentName, rt.RecordTypeName FROM (((( RecordInfo ri INNER JOIN RecordType rt ON ri.AssociatedRecordType = rt.This ) INNER JOIN DisposalSchedule ds ON rt.DisposalSchedule = ds.This ) LEFT OUTER JOIN Action1 a1 ON ri.CurrentPhaseAction = a1.This ) INNER JOIN ReferentialContainmentRelationship rcr ON ri.This = rcr.Head ) INNER JOIN RMFolder rc ON rcr.Tail = rc.This WHERE ri.IsDeleted = FALSE
Všimněte si, že dotaz zahrnuje více než jedno spojení a k oddělení je třeba použít závorky.
Zde je jiná varianta, která vrací kontejnery přidružené k určenému plánu odebrání.
SELECT rc.PathName, rc.Aggregation, rc.DateCreated, ds.DisposalScheduleName, A1.ActionType FROM (RMFolder rc INNER JOIN DisposalSchedule ds ON rc.DisposalSchedule = ds.This) LEFT OUTER JOIN Action1 a1 ON rc.CurrentPhaseAction = a1.This WHERE rc.IsDeleted = FALSE AND ds.DisposalScheduleName = 'Sch_PreDefDate'
Tento dotaz v sestavě vypíše závažné záznamy, které jsou určeny k odebrání v určeném časovém období:
SELECT ri.VitalRecordNextReviewDate, rc.PathName, rcr.ContainmentName, ri.DateCreated, ri.Creator, ri.VitalRecordReviewDate FROM (RecordInfo ri INNER JOIN ReferentialContainmentRelationship rcr ON ri.This = rcr.Head) INNER JOIN RMFolder rc ON rcr.tail = rc.This WHERE ri.IsDeleted = FALSE AND ri.IsVitalRecord = TRUE AND ri.VitalRecordNextReviewDate >= 2008-01-01 AND ri.VitalRecordNextReviewDate <= 2009-12-31
Tento dotaz vyhledá záznamy, které byly přidruženy ke specifickému zadržení během specifického časového období a které jsou obsaženy v určené části plánu souborů.
SELECT ri.DocumentTitle, ri.DateCreated, rh.HoldName, rhl.DateCreated As HoldEstablishedOn FROM (RecordHold rh INNER JOIN RecordHoldLink rhl ON rh.This = rhl.Tail) INNER JOIN RecordInfo ri ON rhl.Head = ri.This WHERE ri.IsDeleted = FALSE AND rh.HoldName = 'Smith vs. Jones' AND rhl.DateCreated >= 2008-10-01 AND rhl.DateCreated <= 2008-12-31 AND ri.This INSUBFOLDER ('/Records Management/File Plan/ABC')