tag:blogger.com,1999:blog-5747859104110554562024-03-13T06:03:41.969-07:00Oracle is funSelect 'Oracle is fun..' Blog_desc from dual;Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.comBlogger36125tag:blogger.com,1999:blog-574785910411055456.post-61657439709028736172008-04-09T11:35:00.000-07:002008-04-09T13:56:42.619-07:00how many "OOPS"<pre><br />here is a script that I came across this morning written for (table)space monitoring..<br /></pre><br /><br /><pre><br /><em>select a.tablespace_name, trunc(sum(maxbytes/1024/1024),2) maxsize_mg,<br />trunc(((b.bytes-c.bytes)/1024/1024),2) used_mg,<br />trunc(sum(maxbytes/1024/1024) - ((b.bytes-c.bytes)/1024/1024),2) free_mg<br />from sys.dba_data_files a, sys.sm$ts_avail b, sys.sm$ts_free c<br />where b.tablespace_name=c.tablespace_name <br />and a.tablespace_name = b.tablespace_name<br />group by a.tablespace_name, b.bytes, c.bytes<br />order by 1;</em><br /></pre><br /><br /><pre><br /><strong>yeah yeah yeah, its there in production already..</strong><br /></pre><br /><br /><pre><br />given that sql, how many "oops" can you find?<br /></pre><br /><br /><pre><br />I managed a find a few<br /></pre><br /><br /><br /><br /><pre><br />a) sm$ts_avail & sm$%ts_free - those are actually views that were there before Christ. sm stands for server manager, I guess. I have never seen these views anytime in the last 8 years..dont even know what version was it available and from when it was depricated. (note: the above script was developed to run on 10.2.0.3)<br />so thats my first "OOPS"<br /></pre><br /><br /><pre><br />b) <br />>>group by a.tablespace_name, b.bytes, c.bytes<br /></pre><br /><br /><pre><br />yi ..yi..yikes!!!<br />"group by bytes" - to get the sum of bytes?<br /></pre><br /><br /><pre><br /> that makes it second & interesting "oops"<br /></pre><br /><br /><pre><br />c)<br />since I am neither exposed nor used these views, I curiously checked out what the view definitions are in db.<br /></pre><br /><br /><pre><br />SQL> select text from dba_views<br /> 2 where view_name='SM$TS_FREE'<br /> 3 and owner='SYS';<br /><br />TEXT<br />------------------------------------------------------------<br />select tablespace_name, sum(bytes) bytes from dba_free_space<br />group by tablespace_name<br /></pre><br /><br /><pre><br />SQL> ed<br />Wrote file afiedt.buf<br /><br /> 1 select text from dba_views<br /> 2 where view_name='SM$TS_AVAIL'<br /> 3* and owner='SYS'<br />SQL> /<br /><br />TEXT<br />------------------------------------------------------------<br />select tablespace_name, sum(bytes) bytes from dba_data_files<br />group by tablespace_name<br /></pre><br /><br /><br /><pre><br />forget about what its calculating..but just looking at it, tells the output is one row per tablespace (group by tablespace)<br /><br />now check the original query..it joins dba_data_files and these views..<br /><br />oops & a big OUCH!!!!<br /></pre><br /><br /><br /><strong>update: I checked this page after a few of the visitors complained about the missing text. I probably over-used/abused the pre tag. IE shows the post perfectly right, but for some reasons firefox doesnt. Hey , I am not a HTML person. This is one other reason why "standardization" is so badly needed </strong>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com9tag:blogger.com,1999:blog-574785910411055456.post-4417767379470762632008-04-08T17:36:00.000-07:002008-04-08T17:39:26.737-07:00sql - goes object-oriented waya funny sql encountered by one of my collegues at a customer site<br /><br /><pre><br />(SELECT 'wt.fc.TheSemanticKeyTheUniquelyIdentified' FROM (SELECT<br /> 'wt.fc.TheSemanticKeyTheUniquelyIdentified' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM SemanticKey B0)))) A0<br />) UNION (SELECT 'wt.inf.container.ClassicLink' FROM (SELECT 'wt.<br />inf.container.ClassicLink' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM ExchangeContainer B0)))) A0) UNION (SEL<br />ECT 'wt.inf.container.PrivateDomainLink' FROM (SELECT 'wt.inf.co<br />ntainer.PrivateDomainLink' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM OrgContainer B0)))) A0) UNION (SELECT '<br />wt.inf.container.ParticipatingMembersLink' FROM (SELECT 'wt.inf.<br />container.ParticipatingMembersLink' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM OrgContainer B0)))) A0) UNION<br />(SELECT 'wt.inf.template.MasterIteration' FROM (SELECT 'wt.inf.t<br />emplate.MasterIteration' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM DefaultWTContainerTemplate B0)))) A0) UNI<br />ON (SELECT 'wt.inf.team.ImplicitMemberLink' FROM (SELECT 'wt.inf<br />.team.ImplicitMemberLink' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM ContainerTeam B0)))) A0) UNION (SELECT '<br />wt.query.PrincipalTheSavedQuery' FROM (SELECT 'wt.query.Principa<br />lTheSavedQuery' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM SavedQuery B0)))) A0) UNION (SELECT 'wt.access.Acl<br />EntryLink' FROM (SELECT 'wt.access.AclEntryLink' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTAclEntry B0))))<br /> A0) UNION (SELECT 'wt.team.RolePrincipalLink' FROM (SELECT 'wt.<br />team.RolePrincipalLink' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM RolePrincipalMap B0)))) A0) UNION (SELECT<br />'wt.team.RolePoolLink' FROM (SELECT 'wt.team.RolePoolLink' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM RolePoo<br />lMap B0)))) A0) UNION (SELECT 'wt.team.RoleActorRoleLink' FROM (<br />SELECT 'wt.team.RoleActorRoleLink' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM RoleActorRoleMap B0)))) A0) UNI<br />ON (SELECT 'wt.team.RoleRoleLink' FROM (SELECT 'wt.team.RoleRole<br />Link' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM RoleRoleMap B0)))) A0) UNION (SELECT 'wt.team.TeamTemplateLi<br />nk' FROM (SELECT 'wt.team.TeamTemplateLink' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Team B0)))) A0) UNION<br />(SELECT 'wt.audit.ProjectEventLink' FROM (SELECT 'wt.audit.Proje<br />ctEventLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM ProjectAuditEvent B0)))) A0) UNION (SELECT 'wt.calend<br />ar.ParentChildLink' FROM (SELECT 'wt.calendar.ParentChildLink' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTC<br />alendar B0)))) A0) UNION (SELECT 'wt.lifecycle.MasterIteration'<br />FROM (SELECT 'wt.lifecycle.MasterIteration' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LifeCycleTemplate B0))<br />)) A0) UNION (SELECT 'wt.lifecycle.GateWorkflow' FROM (SELECT 'w<br />t.lifecycle.GateWorkflow' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM PhaseTemplate B0)))) A0) UNION (SELECT '<br />wt.lifecycle.PhaseWorkflow' FROM (SELECT 'wt.lifecycle.PhaseWork<br />flow' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM PhaseTemplate B0)))) A0) UNION (SELECT 'wt.intersvrcom.SiteS<br />ecurityLink' FROM (SELECT 'wt.intersvrcom.SiteSecurityLink' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Site B<br />0)))) A0) UNION (SELECT 'wt.intersvrcom.SitePrincipal' FROM (SEL<br />ECT 'wt.intersvrcom.SitePrincipal' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM Site B0)))) A0) UNION (SELECT '<br />wt.intersvrcom.SiteRepository' FROM (SELECT 'wt.intersvrcom.Site<br />Repository' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM Site B0)))) A0) UNION (SELECT 'wt.fv.SiteHostLink' FRO<br />M (SELECT 'wt.fv.SiteHostLink' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM FvHost B0)))) A0) UNION (SELECT 'wt<br />.fv.VaultPolicyRuleLink' FROM (SELECT 'wt.fv.VaultPolicyRuleLink<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />FvPolicyRule B0)))) A0) UNION (SELECT 'wt.fv.VaultPolicyItemLink<br />' FROM (SELECT 'wt.fv.VaultPolicyItemLink' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FvPolicyItem B0)))) A0)<br /> UNION (SELECT 'wt.vc.TheControlBranchPredecessor' FROM (SELECT<br />'wt.vc.TheControlBranchPredecessor' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM ControlBranch B0)))) A0) UNION<br /> (SELECT 'wt.configuration.BaselineableConfigOverride' FROM (SEL<br />ECT 'wt.configuration.BaselineableConfigOverride' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM BaselineConfigOv<br />erride B0)))) A0) UNION (SELECT 'wt.configuration.SNMappingSNIns<br />tanceIfc' FROM (SELECT 'wt.configuration.SNMappingSNInstanceIfc'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM S<br />erialNumberMapping B0)))) A0) UNION (SELECT 'wt.federation.Maste<br />rIteration' FROM (SELECT 'wt.federation.MasterIteration' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ProxyDocu<br />ment B0)))) A0) UNION (SELECT 'wt.doc.MasterIteration' FROM (SEL<br />ECT 'wt.doc.MasterIteration' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM WTDocument B0)))) A0) UNION (SELECT '<br />wt.eff.GroupEffConfigSpec' FROM (SELECT 'wt.eff.GroupEffConfigSp<br />ec' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M PersistableEffConfigSpec B0)))) A0) UNION (SELECT 'wt.eff.EffM<br />odifier' FROM (SELECT 'wt.eff.EffModifier' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EffChangeAudit B0)))) A<br />0) UNION (SELECT 'wt.eff.EffAuthorization' FROM (SELECT 'wt.eff.<br />EffAuthorization' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM EffChangeAudit B0)))) A0) UNION (SELECT 'wt.effe<br />ctivity.ConfigItemInstance' FROM (SELECT 'wt.effectivity.ConfigI<br />temInstance' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM WTProductInstance B0)))) A0) UNION (SELECT 'wt.effect<br />ivity.WTIncorpDateWTProdInst' FROM (SELECT 'wt.effectivity.WTInc<br />orpDateWTProdInst' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM WTIncorporationDate B0)))) A0) UNION (SELECT 'w<br />t.part.MasterIteration' FROM (SELECT 'wt.part.MasterIteration' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTP<br />art B0)))) A0) UNION (SELECT 'wt.part.ProductMasterProduct' FROM<br /> (SELECT 'wt.part.ProductMasterProduct' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM WTProduct B0)))) A0) UNION<br /> (SELECT 'wt.part.ConfigurationMasterConfiguration' FROM (SELECT<br /> 'wt.part.ConfigurationMasterConfiguration' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTProductConfiguration<br /> B0)))) A0) UNION (SELECT 'wt.part.ProductInstanceMasterProductI<br />nstance' FROM (SELECT 'wt.part.ProductInstanceMasterProductInsta<br />nce' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM WTProductInstance2 B0)))) A0) UNION (SELECT 'wt.part.ProductP<br />roductInstance' FROM (SELECT 'wt.part.ProductProductInstance' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTPr<br />oductInstanceMaster B0)))) A0) UNION (SELECT 'wt.part.SNPartSNPa<br />rtInstance' FROM (SELECT 'wt.part.SNPartSNPartInstance' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTSNPartIn<br />stance B0)))) A0) UNION (SELECT 'wt.part.ProductConfigForConfig'<br /> FROM (SELECT 'wt.part.ProductConfigForConfig' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTProductConfigMast<br />er B0)))) A0) UNION (SELECT 'wt.part.SNPartMasterSNPart' FROM (S<br />ELECT 'wt.part.SNPartMasterSNPart' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM WTSerialNumberedPart B0)))) A0)<br /> UNION (SELECT 'wt.part.PPSerialNumberEffectivity' FROM (SELECT<br />'wt.part.PPSerialNumberEffectivity' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM ProductSNEffectivity B0)))) A0<br />) UNION (SELECT 'wt.part.PPLotNumberEffectivity' FROM (SELECT 'w<br />t.part.PPLotNumberEffectivity' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM ProductLNEffectivity B0)))) A0) UNI<br />ON (SELECT 'wt.part.ThePublishedLineNumberPart' FROM (SELECT 'wt<br />.part.ThePublishedLineNumberPart' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM PublishedLineNumber B0)))) A0) U<br />NION (SELECT 'wt.part.PPDateEffectivity' FROM (SELECT 'wt.part.P<br />PDateEffectivity' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM ProductDateEffectivity B0)))) A0) UNION (SELECT<br />'wt.pdmlink.ThePDMLinkProductProduct' FROM (SELECT 'wt.pdmlink.T<br />hePDMLinkProductProduct' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM PDMLinkProduct B0)))) A0) UNION (SELECT '<br />wt.scheduler.ScheduleItemHistory' FROM (SELECT 'wt.scheduler.Sch<br />eduleItemHistory' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM ScheduleHistory B0)))) A0) UNION (SELECT 'wt.epm<br />.MasterIteration' FROM (SELECT 'wt.epm.MasterIteration' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMDocumen<br />t B0)))) A0) UNION (SELECT 'wt.epm.OccurrenceTable' FROM (SELECT<br /> 'wt.epm.OccurrenceTable' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM EPMDocumentMaster B0)))) A0) UNION (SELE<br />CT 'wt.epm.NamespaceMaster' FROM (SELECT 'wt.epm.NamespaceMaster<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />EPMCADNamespace B0)))) A0) UNION (SELECT 'wt.epm.TheEPMCADNamesp<br />aceProject' FROM (SELECT 'wt.epm.TheEPMCADNamespaceProject' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMCAD<br />Namespace B0)))) A0) UNION (SELECT 'wt.epm.AuthoringAppVersionLi<br />nk' FROM (SELECT 'wt.epm.AuthoringAppVersionLink' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMDocument B0))<br />)) A0) UNION (SELECT 'wt.ufid.LocalObjectRemoteInfo' FROM (SELEC<br />T 'wt.ufid.LocalObjectRemoteInfo' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM RemoteObjectInfo B0)))) A0) UNIO<br />N (SELECT 'wt.viewmarkup.DerivedFromTheDerivedImage' FROM (SELEC<br />T 'wt.viewmarkup.DerivedFromTheDerivedImage' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DerivedImage B0)))) A<br />0) UNION (SELECT 'wt.viewmarkup.ThePublishingProhibitionTarget'<br />FROM (SELECT 'wt.viewmarkup.ThePublishingProhibitionTarget' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Publis<br />hingProhibition B0)))) A0) UNION (SELECT 'wt.annotation.TopLevel<br />Target' FROM (SELECT 'wt.annotation.TopLevelTarget' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM StructuredAnno<br />tationSet B0)))) A0) UNION (SELECT 'wt.annotation.AnnotationSetB<br />aseline' FROM (SELECT 'wt.annotation.AnnotationSetBaseline' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Struct<br />uredAnnotationSet B0)))) A0) UNION (SELECT 'wt.annotation.Annota<br />tionConfigSpec' FROM (SELECT 'wt.annotation.AnnotationConfigSpec<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />StructuredAnnotationSet B0)))) A0) UNION (SELECT 'wt.csm.navigat<br />ion.RefDefIndirectQueryTarget' FROM (SELECT 'wt.csm.navigation.R<br />efDefIndirectQueryTarget' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM IndirectQueryTarget B0)))) A0) UNION (SE<br />LECT 'wt.csm.navigation.NodeQFDefaultQF' FROM (SELECT 'wt.csm.na<br />vigation.NodeQFDefaultQF' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM NodeQueryForm B0)))) A0) UNION (SELECT '<br />wt.csm.navigation.NodeQFAbsNode' FROM (SELECT 'wt.csm.navigation<br />.NodeQFAbsNode' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM NodeQueryForm B0)))) A0) UNION (SELECT 'wt.csm.nav<br />igation.NavStructIndirectQueryTarget' FROM (SELECT 'wt.csm.navig<br />ation.NavStructIndirectQueryTarget' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM IndirectQueryTarget B0)))) A0)<br /> UNION (SELECT 'wt.csm.navigation.IndNavStructIndependentNode' F<br />ROM (SELECT 'wt.csm.navigation.IndNavStructIndependentNode' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Indepe<br />ndentNode B0)))) A0) UNION (SELECT 'wt.csm.navigation.ClassifStr<br />uctClassifNode' FROM (SELECT 'wt.csm.navigation.ClassifStructCla<br />ssifNode' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM ClassificationNode B0)))) A0) UNION (SELECT 'wt.csm.navi<br />gation.ClassNavStructClassStruct' FROM (SELECT 'wt.csm.navigatio<br />n.ClassNavStructClassStruct' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM ClassificationNavStruct B0)))) A0) UN<br />ION (SELECT 'wt.csm.navigation.ClassificationNodeLink' FROM (SEL<br />ECT 'wt.csm.navigation.ClassificationNodeLink' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ClassificationNode<br />B0)))) A0) UNION (SELECT 'wt.csm.navigation.IndependentNodeLink'<br /> FROM (SELECT 'wt.csm.navigation.IndependentNodeLink' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM IndependentN<br />ode B0)))) A0) UNION (SELECT 'wt.csm.navigation.RefDefClassifStr<br />uct' FROM (SELECT 'wt.csm.navigation.RefDefClassifStruct' classn<br />ame FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Classifi<br />cationStruct B0)))) A0) UNION (SELECT 'wt.csm.ranking.NodeRankDa<br />ta' FROM (SELECT 'wt.csm.ranking.NodeRankData' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM RankingData B0))))<br />A0) UNION (SELECT 'wt.csm.ranking.ContextRankData' FROM (SELECT<br />'wt.csm.ranking.ContextRankData' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM RankingData B0)))) A0) UNION (SEL<br />ECT 'wt.epm.familytable.EPMFeatureValueContainerLink' FROM (SELE<br />CT 'wt.epm.familytable.EPMFeatureValueContainerLink' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMFeatureVal<br />ue B0)))) A0) UNION (SELECT 'wt.epm.familytable.EPMParameterValu<br />eContainerLink' FROM (SELECT 'wt.epm.familytable.EPMParameterVal<br />ueContainerLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM EPMParameterValue B0)))) A0) UNION (SELECT 'wt.ep<br />m.familytable.EPMFamilyTableCellContainedInLink' FROM (SELECT 'w<br />t.epm.familytable.EPMFamilyTableCellContainedInLink' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMFamilyTabl<br />eCell B0)))) A0) UNION (SELECT 'wt.epm.familytable.EPMFamilyTabl<br />eCellFamilyTableColumnLink' FROM (SELECT 'wt.epm.familytable.EPM<br />FamilyTableCellFamilyTableColumnLink' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM EPMFamilyTableCell B0)))) A0<br />) UNION (SELECT 'wt.epm.familytable.EPMParameterParameterDefinit<br />ionLink' FROM (SELECT 'wt.epm.familytable.EPMParameterParameterD<br />efinitionLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM EPMFamilyTableParameter B0)))) A0) UNION (SELECT 'w<br />t.epm.familytable.EPMFeatureFeatureDefinitionLink' FROM (SELECT<br />'wt.epm.familytable.EPMFeatureFeatureDefinitionLink' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMFamilyTabl<br />eFeature B0)))) A0) UNION (SELECT 'wt.epm.familytable.EPMFeature<br />DefinitionContainerLink' FROM (SELECT 'wt.epm.familytable.EPMFea<br />tureDefinitionContainerLink' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM EPMFeatureDefinition B0)))) A0) UNION<br /> (SELECT 'wt.epm.familytable.EPMParameterDefinitionContainerLink<br />' FROM (SELECT 'wt.epm.familytable.EPMParameterDefinitionContain<br />erLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM EPMParameterDefinition B0)))) A0) UNION (SELECT 'wt.epm.fa<br />milytable.EPMSepFamilyTablePredecessor' FROM (SELECT 'wt.epm.fam<br />ilytable.EPMSepFamilyTablePredecessor' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMSepFamilyTable B0)))) A0<br />) UNION (SELECT 'wt.epm.supportingdata.HolderSupportingData' FRO<br />M (SELECT 'wt.epm.supportingdata.HolderSupportingData' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMSupporti<br />ngData B0)))) A0) UNION (SELECT 'wt.epm.supportingdata.AppDataVe<br />rsionLink' FROM (SELECT 'wt.epm.supportingdata.AppDataVersionLin<br />k' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> EPMSupportingData B0)))) A0) UNION (SELECT 'wt.epm.workspaces.M<br />asterIteration' FROM (SELECT 'wt.epm.workspaces.MasterIteration'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM E<br />PMCheckpoint B0)))) A0) UNION (SELECT 'wt.epm.workspaces.Checkpo<br />int' FROM (SELECT 'wt.epm.workspaces.Checkpoint' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMWorkspace B0))<br />)) A0) UNION (SELECT 'wt.epm.workspaces.WorkspaceFolder' FROM (S<br />ELECT 'wt.epm.workspaces.WorkspaceFolder' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMWorkspace B0)))) A0)<br />UNION (SELECT 'wt.epm.workspaces.WorkspacePartConfigSpec' FROM (<br />SELECT 'wt.epm.workspaces.WorkspacePartConfigSpec' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMWorkspace B0<br />)))) A0) UNION (SELECT 'wt.epm.workspaces.WorkspaceDocConfigSpec<br />' FROM (SELECT 'wt.epm.workspaces.WorkspaceDocConfigSpec' classn<br />ame FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMWorks<br />pace B0)))) A0) UNION (SELECT 'wt.epm.workspaces.WorkspaceDocLif<br />eCycle' FROM (SELECT 'wt.epm.workspaces.WorkspaceDocLifeCycle' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPM<br />Workspace B0)))) A0) UNION (SELECT 'wt.epm.workspaces.WorkspaceP<br />artLifeCycle' FROM (SELECT 'wt.epm.workspaces.WorkspacePartLifeC<br />ycle' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM EPMWorkspace B0)))) A0) UNION (SELECT 'wt.epm.workspaces.Wor<br />kspaceDocFolder' FROM (SELECT 'wt.epm.workspaces.WorkspaceDocFol<br />der' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM EPMWorkspace B0)))) A0) UNION (SELECT 'wt.epm.workspaces.Work<br />spacePartFolder' FROM (SELECT 'wt.epm.workspaces.WorkspacePartFo<br />lder' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM EPMWorkspace B0)))) A0) UNION (SELECT 'wt.epm.workspaces.Wor<br />kspaceTeamTemplate' FROM (SELECT 'wt.epm.workspaces.WorkspaceTea<br />mTemplate' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM EPMWorkspace B0)))) A0) UNION (SELECT 'wt.epm.workspace<br />s.WorkspaceView' FROM (SELECT 'wt.epm.workspaces.WorkspaceView'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EP<br />MWorkspace B0)))) A0) UNION (SELECT 'wt.epm.workspaces.Workspace<br />Container' FROM (SELECT 'wt.epm.workspaces.WorkspaceContainer' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPM<br />Workspace B0)))) A0) UNION (SELECT 'wt.epm.workspaces.WorkspaceC<br />heckpoint' FROM (SELECT 'wt.epm.workspaces.WorkspaceCheckpoint'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EP<br />MWorkspace B0)))) A0) UNION (SELECT 'wt.epm.workspaces.UpdateCou<br />nterTrackable' FROM (SELECT 'wt.epm.workspaces.UpdateCounterTrac<br />kable' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM EPMUpdateCounter B0)))) A0) UNION (SELECT 'wt.epm.workspace<br />s.NewObjectDataLink' FROM (SELECT 'wt.epm.workspaces.NewObjectDa<br />taLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM EPMInitialCheckinData B0)))) A0) UNION (SELECT 'wt.epm.wor<br />kspaces.TargetFolderLink' FROM (SELECT 'wt.epm.workspaces.Target<br />FolderLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM EPMInitialCheckinData B0)))) A0) UNION (SELECT 'wt.epm<br />.workspaces.WorkspaceToCacheState' FROM (SELECT 'wt.epm.workspac<br />es.WorkspaceToCacheState' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM ClientCacheState B0)))) A0) UNION (SELEC<br />T 'wt.epm.workspaces.DocumentToCacheState' FROM (SELECT 'wt.epm.<br />workspaces.DocumentToCacheState' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM ClientCacheState B0)))) A0) UNION<br /> (SELECT 'wt.iba.definition.UnitQOMLink' FROM (SELECT 'wt.iba.de<br />finition.UnitQOMLink' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM UnitDefinition B0)))) A0) UNION (SELECT 'wt.<br />ixb.conflictFramework.ElementImportInfoImportSession' FROM (SELE<br />CT 'wt.ixb.conflictFramework.ElementImportInfoImportSession' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Eleme<br />ntImportInfo B0)))) A0) UNION (SELECT 'wt.ixb.conflictFramework.<br />EnvironmentConflictImportSession' FROM (SELECT 'wt.ixb.conflictF<br />ramework.EnvironmentConflictImportSession' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EnvironmentConflict B0)<br />))) A0) UNION (SELECT 'wt.meeting.actionitem.ActionItemSourceLin<br />k' FROM (SELECT 'wt.meeting.actionitem.ActionItemSourceLink' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Discr<br />eteActionItem B0)))) A0) UNION (SELECT 'wt.projmgmt.execution.Pr<br />ojectPlanLink' FROM (SELECT 'wt.projmgmt.execution.ProjectPlanLi<br />nk' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M ProjectPlan B0)))) A0) UNION (SELECT 'wt.projmgmt.execution.Pr<br />ojectAssignmentLink' FROM (SELECT 'wt.projmgmt.execution.Project<br />AssignmentLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM ProjectAssignment B0)))) A0) UNION (SELECT 'wt.pro<br />jmgmt.execution.ProjectWorkItemLink' FROM (SELECT 'wt.projmgmt.e<br />xecution.ProjectWorkItemLink' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM ProjectWorkItem B0)))) A0) UNION (SE<br />LECT 'wt.projmgmt.resource.ProjectDeliverableLink' FROM (SELECT<br />'wt.projmgmt.resource.ProjectDeliverableLink' classname FROM DUA<br />L WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Deliverable B0)))) A<br />0) UNION (SELECT 'wt.replication.unit.MasterIteration' FROM (SEL<br />ECT 'wt.replication.unit.MasterIteration' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTUnit B0)))) A0) UNION<br />(SELECT 'wt.replication.unit.UnitWTPartCSLink' FROM (SELECT 'wt.<br />replication.unit.UnitWTPartCSLink' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM WTUnit B0)))) A0) UNION (SELECT<br /> 'wt.replication.unit.UnitEPMDocCSLink' FROM (SELECT 'wt.replica<br />tion.unit.UnitEPMDocCSLink' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM WTUnit B0)))) A0) UNION (SELECT 'wt.re<br />plication.unit.UnitBaselineLink' FROM (SELECT 'wt.replication.un<br />it.UnitBaselineLink' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM WTUnit B0)))) A0) UNION (SELECT 'wt.replicati<br />on.unit.UnitWTDocCSLink' FROM (SELECT 'wt.replication.unit.UnitW<br />TDocCSLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM WTUnit B0)))) A0) UNION (SELECT 'wt.replication.sender<br />.ToSiteLink' FROM (SELECT 'wt.replication.sender.ToSiteLink' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM UnitS<br />endRecord B0)))) A0) UNION (SELECT 'wt.workflow.definer.MasterIt<br />eration' FROM (SELECT 'wt.workflow.definer.MasterIteration' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfProc<br />essTemplate B0)))) A0) UNION (SELECT 'wt.workflow.definer.ProxyP<br />rocessDefinitionLink' FROM (SELECT 'wt.workflow.definer.ProxyPro<br />cessDefinitionLink' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM WfProxyTemplate B0)))) A0) UNION (SELECT 'wt.w<br />orkflow.forum.TopicPostingLink' FROM (SELECT 'wt.workflow.forum.<br />TopicPostingLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM DiscussionPosting B0)))) A0) UNION (SELECT 'wt.w<br />orkflow.forum.TopicSubtopicLink' FROM (SELECT 'wt.workflow.forum<br />.TopicSubtopicLink' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM DiscussionTopic B0)))) A0) UNION (SELECT 'wt.w<br />orkflow.forum.PostingSubpostingLink' FROM (SELECT 'wt.workflow.f<br />orum.PostingSubpostingLink' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM DiscussionPosting B0)))) A0) UNION (SE<br />LECT 'wt.workflow.forum.ForumTopicLink' FROM (SELECT 'wt.workflo<br />w.forum.ForumTopicLink' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM DiscussionTopic B0)))) A0) UNION (SELECT '<br />wt.workflow.forum.ForumDefInstanceLink' FROM (SELECT 'wt.workflo<br />w.forum.ForumDefInstanceLink' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM DiscussionForum B0)))) A0) UNION (SE<br />LECT 'wt.workflow.forum.ForumCookieLink' FROM (SELECT 'wt.workfl<br />ow.forum.ForumCookieLink' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM ForumCookie B0)))) A0) UNION (SELECT 'wt<br />.workflow.notebook.NotebookFolderLink' FROM (SELECT 'wt.workflow<br />.notebook.NotebookFolderLink' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM NotebookFolder B0)))) A0) UNION (SEL<br />ECT 'wt.workflow.notebook.FolderBookmarkLink' FROM (SELECT 'wt.w<br />orkflow.notebook.FolderBookmarkLink' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM Bookmark B0)))) A0) UNION (SE<br />LECT 'wt.workflow.notebook.NotebookBookmarkLink' FROM (SELECT 'w<br />t.workflow.notebook.NotebookBookmarkLink' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Bookmark B0)))) A0) UNIO<br />N (SELECT 'wt.workflow.notebook.FolderSubFolderLink' FROM (SELEC<br />T 'wt.workflow.notebook.FolderSubFolderLink' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM NotebookFolder B0))))<br /> A0) UNION (SELECT 'wt.workflow.notebook.WfBookmarkObjectLink' F<br />ROM (SELECT 'wt.workflow.notebook.WfBookmarkObjectLink' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfBookmark<br /> B0)))) A0) UNION (SELECT 'wt.workflow.notebook.WfFolderedBookma<br />rkObjectLink' FROM (SELECT 'wt.workflow.notebook.WfFolderedBookm<br />arkObjectLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM WfFolderedBookmark B0)))) A0) UNION (SELECT 'wt.mat<br />urity.ThePromotionNoticeConfiguration' FROM (SELECT 'wt.maturity<br />.ThePromotionNoticeConfiguration' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM PromotionNotice B0)))) A0) UNION<br /> (SELECT 'com.ptc.core.meta.server.impl.IdentifiedObjectTheLogic<br />alIdentifierMapEntry' FROM (SELECT 'com.ptc.core.meta.server.imp<br />l.IdentifiedObjectTheLogicalIdentifierMapEntry' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LogicalIdentifierM<br />apEntry B0)))) A0) UNION (SELECT 'com.ptc.core.meta.type.mgmt.se<br />rver.impl.MasterIteration' FROM (SELECT 'com.ptc.core.meta.type.<br />mgmt.server.impl.MasterIteration' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM WTTypeDefinition B0)))) A0) UNIO<br />N (SELECT 'com.ptc.windchill.cadx.common.htmllog.LogMessages' FR<br />OM (SELECT 'com.ptc.windchill.cadx.common.htmllog.LogMessages' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM HTM<br />LLogMessage B0)))) A0) UNION (SELECT 'com.ptc.windchill.esi.txn.<br />ActivityMessage' FROM (SELECT 'com.ptc.windchill.esi.txn.Activit<br />yMessage' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM ReleaseActivity B0)))) A0) UNION (SELECT 'com.ptc.windch<br />ill.esi.txn.TransactionMessage' FROM (SELECT 'com.ptc.windchill.<br />esi.txn.TransactionMessage' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM ESITransaction B0)))) A0) UNION (SELEC<br />T 'com.ptc.core.task.MessagesTheTaskEvent' FROM (SELECT 'com.ptc<br />.core.task.MessagesTheTaskEvent' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM TaskEventMessage B0)))) A0) UNION<br /> (SELECT 'com.ptc.core.task.EventDataEvent' FROM (SELECT 'com.pt<br />c.core.task.EventDataEvent' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM TaskEvent B0)))) A0) UNION (SELECT 'wt<br />.dataops.objectcol.CriterionInputLink' FROM (SELECT 'wt.dataops.<br />objectcol.CriterionInputLink' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM InputValue B0)))) A0) UNION (SELECT<br />'wt.dataops.objectcol.CriteriaMemberLink' FROM (SELECT 'wt.datao<br />ps.objectcol.CriteriaMemberLink' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM CriterionObject B0)))) A0) UNION<br />(SELECT 'wt.dataops.objectcol.RelDefMasterRelDef' FROM (SELECT '<br />wt.dataops.objectcol.RelDefMasterRelDef' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionDef B0)))) A<br />0) UNION (SELECT 'wt.dataops.objectcol.MethodDefMasterMethodDef'<br /> FROM (SELECT 'wt.dataops.objectcol.MethodDefMasterMethodDef' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Base<br />CriterionDef B0)))) A0) UNION (SELECT 'wt.dataops.objectcol.Attr<br />CriterionDefMasterAttrCriterionDef' FROM (SELECT 'wt.dataops.obj<br />ectcol.AttrCriterionDefMasterAttrCriterionDef' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionDef B0<br />)))) A0) UNION (SELECT 'wt.dataops.objectcol.ObjTypeDefMasterObj<br />TypeDef' FROM (SELECT 'wt.dataops.objectcol.ObjTypeDefMasterObjT<br />ypeDef' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM BaseCriterionDef B0)))) A0) UNION (SELECT 'wt.dataops.obje<br />ctcol.FilterDefMasterFilterDef' FROM (SELECT 'wt.dataops.objectc<br />ol.FilterDefMasterFilterDef' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM BaseCriterionDef B0)))) A0) UNION (SE<br />LECT 'wt.dataops.objectcol.ColCriterionDefMasterColCriterionDef'<br /> FROM (SELECT 'wt.dataops.objectcol.ColCriterionDefMasterColCrit<br />erionDef' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM BaseCriterionDef B0)))) A0) UNION (SELECT 'wt.dataops.ob<br />jectcol.RelMapDefMasterRelMapDef' FROM (SELECT 'wt.dataops.objec<br />tcol.RelMapDefMasterRelMapDef' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM BaseCriterionDef B0)))) A0) UNION (<br />SELECT 'wt.dataops.objectcol.CriterionDefinitionLink' FROM (SELE<br />CT 'wt.dataops.objectcol.CriterionDefinitionLink' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM CriterionObject<br />B0)))) A0) UNION (SELECT 'wt.dataops.objectcol.BaseCriterionDefM<br />asterBaseCriterionDef' FROM (SELECT 'wt.dataops.objectcol.BaseCr<br />iterionDefMasterBaseCriterionDef' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionDef B0)))) A0) UNIO<br />N (SELECT 'wt.dataops.objectcol.RelationshipMapDefinitionLink' F<br />ROM (SELECT 'wt.dataops.objectcol.RelationshipMapDefinitionLink'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM R<br />elationshipMap B0)))) A0) UNION (SELECT 'wt.dataops.objectcol.Re<br />lationshipMapInputLink' FROM (SELECT 'wt.dataops.objectcol.Relat<br />ionshipMapInputLink' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM InputValue B0)))) A0) UNION (SELECT 'wt.datao<br />ps.purge.ThePurgeRecordTaskEvent' FROM (SELECT 'wt.dataops.purge<br />.ThePurgeRecordTaskEvent' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM PurgeRecord B0)))) A0) UNION (SELECT 'wt<br />.dataops.purge.ThePurgeRecordRelatedRecord' FROM (SELECT 'wt.dat<br />aops.purge.ThePurgeRecordRelatedRecord' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM PurgeRecord B0)))) A0) UNI<br />ON (SELECT 'wt.dataops.archive.TheArchiveRecordArchive' FROM (SE<br />LECT 'wt.dataops.archive.TheArchiveRecordArchive' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ArchiveRecord B0<br />)))) A0) UNION (SELECT 'wt.dataops.archive.TheRestoreRecordArchi<br />ve' FROM (SELECT 'wt.dataops.archive.TheRestoreRecordArchive' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Rest<br />oreRecord B0)))) A0) UNION (SELECT 'wt.dataops.archive.TheArchiv<br />eRecordTaskEvent' FROM (SELECT 'wt.dataops.archive.TheArchiveRec<br />ordTaskEvent' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM ArchiveRecord B0)))) A0) UNION (SELECT 'wt.dataops.a<br />rchive.TheRestoreRecordTaskEvent' FROM (SELECT 'wt.dataops.archi<br />ve.TheRestoreRecordTaskEvent' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM RestoreRecord B0)))) A0) UNION (SELE<br />CT 'com.ptc.windchill.counterpart.AttachmentToDelta' FROM (SELEC<br />T 'com.ptc.windchill.counterpart.AttachmentToDelta' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM CounterPartAtt<br />achment B0)))) A0) UNION (SELECT 'com.ptc.windchill.counterpart.<br />ContentForDelta' FROM (SELECT 'com.ptc.windchill.counterpart.Con<br />tentForDelta' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM CounterPartContent B0)))) A0) UNION (SELECT 'com.ptc<br />.netmarkets.roleAccess.AccessPrincipalLink' FROM (SELECT 'com.pt<br />c.netmarkets.roleAccess.AccessPrincipalLink' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM UIAccess B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.agent.LCSAgentMasToItr' FROM (SELECT 'c<br />om.lcs.wc.agent.LCSAgentMasToItr' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM LCSAgent B0)))) A0) UNION (SELEC<br />T 'com.lcs.wc.calendar.CalendarTask' FROM (SELECT 'com.lcs.wc.ca<br />lendar.CalendarTask' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM LCSCalendarTask B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.calendar.MadeFromTemplateTheLCSCalendar' FROM (SELECT 'c<br />om.lcs.wc.calendar.MadeFromTemplateTheLCSCalendar' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSCalendar B0)<br />))) A0) UNION (SELECT 'com.lcs.wc.calendar.OwnerTheLCSCalendar'<br />FROM (SELECT 'com.lcs.wc.calendar.OwnerTheLCSCalendar' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSCalendar<br /> B0)))) A0) UNION (SELECT 'com.lcs.wc.calendar.PrecedentTheLCSCa<br />lendarTask' FROM (SELECT 'com.lcs.wc.calendar.PrecedentTheLCSCal<br />endarTask' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM LCSCalendarTask B0)))) A0) UNION (SELECT 'com.lcs.wc.ch<br />ange.FlexTypeTheLCSChangeActivity' FROM (SELECT 'com.lcs.wc.chan<br />ge.FlexTypeTheLCSChangeActivity' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM LCSChangeActivity B0)))) A0) UNIO<br />N (SELECT 'com.lcs.wc.color.MaterialMasterTheLCSPaletteMaterialC<br />olorLink' FROM (SELECT 'com.lcs.wc.color.MaterialMasterTheLCSPal<br />etteMaterialColorLink' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM LCSPaletteMaterialColorLink B0)))) A0) UNIO<br />N (SELECT 'com.lcs.wc.color.PaletteTheLCSPaletteMaterialColorLin<br />k' FROM (SELECT 'com.lcs.wc.color.PaletteTheLCSPaletteMaterialCo<br />lorLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM LCSPaletteMaterialColorLink B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.color.ParentPaletteTheLCSPalette' FROM (SELECT 'com.lcs.<br />wc.color.ParentPaletteTheLCSPalette' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM LCSPalette B0)))) A0) UNION (<br />SELECT 'com.lcs.wc.color.SupplierMasterTheLCSPaletteMaterialLink<br />' FROM (SELECT 'com.lcs.wc.color.SupplierMasterTheLCSPaletteMate<br />rialLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM LCSPaletteMaterialLink B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.construction.ConstructionMasterTheLCSConstructionDetail' FRO<br />M (SELECT 'com.lcs.wc.construction.ConstructionMasterTheLCSConst<br />ructionDetail' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM LCSConstructionDetail B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.construction.LCSConstructionToMaster' FROM (SELECT 'com.<br />lcs.wc.construction.LCSConstructionToMaster' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSConstructionInfo B<br />0)))) A0) UNION (SELECT 'com.lcs.wc.construction.LibraryItemTheL<br />CSConstructionDetail' FROM (SELECT 'com.lcs.wc.construction.Libr<br />aryItemTheLCSConstructionDetail' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM LCSConstructionDetail B0)))) A0)<br />UNION (SELECT 'com.lcs.wc.construction.ProductMasterConstruction<br />Info' FROM (SELECT 'com.lcs.wc.construction.ProductMasterConstru<br />ctionInfo' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM LCSConstructionInfoMaster B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.construction.ProductPieceTheLCSConstructionInfoMaster' F<br />ROM (SELECT 'com.lcs.wc.construction.ProductPieceTheLCSConstruct<br />ionInfoMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM LCSConstructionInfoMaster B0)))) A0) UNION (SELECT<br />'com.lcs.wc.construction.SeasonMasterTheLCSConstructionInfoMaste<br />r' FROM (SELECT 'com.lcs.wc.construction.SeasonMasterTheLCSConst<br />ructionInfoMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM LCSConstructionInfoMaster B0)))) A0) UNION (SEL<br />ECT 'com.lcs.wc.construction.SourceTemplateTheLCSConstructionInf<br />oMaster' FROM (SELECT 'com.lcs.wc.construction.SourceTemplateThe<br />LCSConstructionInfoMaster' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM LCSConstructionInfoMaster B0)))) A0) UN<br />ION (SELECT 'com.lcs.wc.construction.SourceTheLCSConstructionInf<br />oMaster' FROM (SELECT 'com.lcs.wc.construction.SourceTheLCSConst<br />ructionInfoMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM LCSConstructionInfoMaster B0)))) A0) UNION (SEL<br />ECT 'com.lcs.wc.country.LCSCountryMasToItr' FROM (SELECT 'com.lc<br />s.wc.country.LCSCountryMasToItr' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM LCSCountry B0)))) A0) UNION (SELE<br />CT 'com.lcs.wc.document.FlexTypeTheLCSDocument' FROM (SELECT 'co<br />m.lcs.wc.document.FlexTypeTheLCSDocument' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSDocument B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.factory.LCSFactoryMasterToIteration' FR<br />OM (SELECT 'com.lcs.wc.factory.LCSFactoryMasterToIteration' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSFac<br />tory B0)))) A0) UNION (SELECT 'com.lcs.wc.flexbom.ChildTheFlexBO<br />MLink' FROM (SELECT 'com.lcs.wc.flexbom.ChildTheFlexBOMLink' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FlexB<br />OMLink B0)))) A0) UNION (SELECT 'com.lcs.wc.flexbom.ColorDimensi<br />onTheFlexBOMLink' FROM (SELECT 'com.lcs.wc.flexbom.ColorDimensio<br />nTheFlexBOMLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM FlexBOMLink B0)))) A0) UNION (SELECT 'com.lcs.wc.<br />flexbom.ColorTheFlexBOMLink' FROM (SELECT 'com.lcs.wc.flexbom.Co<br />lorTheFlexBOMLink' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM FlexBOMLink B0)))) A0) UNION (SELECT 'com.lcs.w<br />c.flexbom.DestinationDimensionTheFlexBOMLink' FROM (SELECT 'com.<br />lcs.wc.flexbom.DestinationDimensionTheFlexBOMLink' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FlexBOMLink B0)<br />))) A0) UNION (SELECT 'com.lcs.wc.flexbom.MaterialColorTheFlexBO<br />MLink' FROM (SELECT 'com.lcs.wc.flexbom.MaterialColorTheFlexBOML<br />ink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM FlexBOMLink B0)))) A0) UNION (SELECT 'com.lcs.wc.flexbom.Owne<br />rMasterTheFlexBOMPart' FROM (SELECT 'com.lcs.wc.flexbom.OwnerMas<br />terTheFlexBOMPart' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM FlexBOMPart B0)))) A0) UNION (SELECT 'com.lcs.w<br />c.flexbom.ParentTheFlexBOMLink' FROM (SELECT 'com.lcs.wc.flexbom<br />.ParentTheFlexBOMLink' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM FlexBOMLink B0)))) A0) UNION (SELECT 'com.l<br />cs.wc.flexbom.SourceDimensionTheFlexBOMLink' FROM (SELECT 'com.l<br />cs.wc.flexbom.SourceDimensionTheFlexBOMLink' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FlexBOMLink B0)))) A0<br />) UNION (SELECT 'com.lcs.wc.flexbom.SupplierTheFlexBOMLink' FROM<br /> (SELECT 'com.lcs.wc.flexbom.SupplierTheFlexBOMLink' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FlexBOMLink B<br />0)))) A0) UNION (SELECT 'com.lcs.wc.flextype.AttFlexTypeTheFlexT<br />ypeAttribute' FROM (SELECT 'com.lcs.wc.flextype.AttFlexTypeTheFl<br />exTypeAttribute' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM FlexTypeAttribute B0)))) A0) UNION (SELECT 'com.l<br />cs.wc.flextype.AttValueListSourceTheFlexTypeAttribute' FROM (SEL<br />ECT 'com.lcs.wc.flextype.AttValueListSourceTheFlexTypeAttribute'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM F<br />lexTypeAttribute B0)))) A0) UNION (SELECT 'com.lcs.wc.flextype.A<br />ttValueListTheAttributeValueStore' FROM (SELECT 'com.lcs.wc.flex<br />type.AttValueListTheAttributeValueStore' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM AttributeValueStore B0)))<br />) A0) UNION (SELECT 'com.lcs.wc.flextype.AttValueListTheFlexType<br />Attribute' FROM (SELECT 'com.lcs.wc.flextype.AttValueListTheFlex<br />TypeAttribute' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM FlexTypeAttribute B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.flextype.AttributeGroupTheFlexTypeAttribute' FROM (SELECT 'c<br />om.lcs.wc.flextype.AttributeGroupTheFlexTypeAttribute' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FlexTypeAtt<br />ribute B0)))) A0) UNION (SELECT 'com.lcs.wc.flextype.GroupFlexTy<br />peTheAttributeGroup' FROM (SELECT 'com.lcs.wc.flextype.GroupFlex<br />TypeTheAttributeGroup' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM AttributeGroup B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.flextype.ParentAttributeTheFlexTypeAttribute' FROM (SEL<br />ECT 'com.lcs.wc.flextype.ParentAttributeTheFlexTypeAttribute' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Flex<br />TypeAttribute B0)))) A0) UNION (SELECT 'com.lcs.wc.flextype.RefD<br />efinitionTheFlexTypeAttribute' FROM (SELECT 'com.lcs.wc.flextype<br />.RefDefinitionTheFlexTypeAttribute' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM FlexTypeAttribute B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.flextype.RefTypeTheFlexTypeAttribute' F<br />ROM (SELECT 'com.lcs.wc.flextype.RefTypeTheFlexTypeAttribute' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Flex<br />TypeAttribute B0)))) A0) UNION (SELECT 'com.lcs.wc.flextype.Type<br />ParentTheFlexType' FROM (SELECT 'com.lcs.wc.flextype.TypeParentT<br />heFlexType' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM FlexType B0)))) A0) UNION (SELECT 'com.lcs.wc.flextype<br />.ValueTreeTheFlexTypeAttribute' FROM (SELECT 'com.lcs.wc.flextyp<br />e.ValueTreeTheFlexTypeAttribute' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM FlexTypeAttribute B0)))) A0) UNIO<br />N (SELECT 'com.lcs.wc.foundation.CopiedFromTheLCSManaged' FROM (<br />SELECT 'com.lcs.wc.foundation.CopiedFromTheLCSManaged' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSManaged<br />B0)))) A0) UNION (SELECT 'com.lcs.wc.foundation.CopiedFromTheLCS<br />ObjectToObjectLink' FROM (SELECT 'com.lcs.wc.foundation.CopiedFr<br />omTheLCSObjectToObjectLink' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM LCSObjectToObjectLink B0)))) A0) UNION<br /> (SELECT 'com.lcs.wc.foundation.CopiedFromTheLCSRevisionControll<br />ed' FROM (SELECT 'com.lcs.wc.foundation.CopiedFromTheLCSRevision<br />Controlled' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM LCSRevisionControlled B0)))) A0) UNION (SELECT 'com.lc<br />s.wc.foundation.FlexTypeTheLCSManaged' FROM (SELECT 'com.lcs.wc.<br />foundation.FlexTypeTheLCSManaged' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM LCSManaged B0)))) A0) UNION (SEL<br />ECT 'com.lcs.wc.foundation.FlexTypeTheLCSObject' FROM (SELECT 'c<br />om.lcs.wc.foundation.FlexTypeTheLCSObject' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSObject B0)))) A0) UN<br />ION (SELECT 'com.lcs.wc.foundation.FlexTypeTheLCSObjectToObjectL<br />ink' FROM (SELECT 'com.lcs.wc.foundation.FlexTypeTheLCSObjectToO<br />bjectLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM LCSObjectToObjectLink B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.foundation.FlexTypeTheLCSRevisionControlled' FROM (SELECT 'c<br />om.lcs.wc.foundation.FlexTypeTheLCSRevisionControlled' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSRevision<br />Controlled B0)))) A0) UNION (SELECT 'com.lcs.wc.foundation.LCSRe<br />visableMasterToIter' FROM (SELECT 'com.lcs.wc.foundation.LCSRevi<br />sableMasterToIter' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM LCSRevisableEntity B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.foundation.ObjectTheFavoriteObject' FROM (SELECT 'com.l<br />cs.wc.foundation.ObjectTheFavoriteObject' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FavoriteObject B0)))) A0<br />) UNION (SELECT 'com.lcs.wc.last.LCSLastMasToItr' FROM (SELECT '<br />com.lcs.wc.last.LCSLastMasToItr' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM LCSLast B0)))) A0) UNION (SELECT<br />'com.lcs.wc.material.ColorTheLCSMaterialColor' FROM (SELECT 'com<br />.lcs.wc.material.ColorTheLCSMaterialColor' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMaterialColor B0))))<br /> A0) UNION (SELECT 'com.lcs.wc.material.EffectivityContextTheMat<br />erialPricingEntry' FROM (SELECT 'com.lcs.wc.material.Effectivity<br />ContextTheMaterialPricingEntry' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM MaterialPricingEntry B0)))) A0) UN<br />ION (SELECT 'com.lcs.wc.material.LCSMatSupToMaster' FROM (SELECT<br /> 'com.lcs.wc.material.LCSMatSupToMaster' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMaterialSupplier B0)))<br />) A0) UNION (SELECT 'com.lcs.wc.material.MaterialColorTheLCSMate<br />rialStrikeOff' FROM (SELECT 'com.lcs.wc.material.MaterialColorTh<br />eLCSMaterialStrikeOff' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM LCSMaterialStrikeOff B0)))) A0) UNION (SELE<br />CT 'com.lcs.wc.material.MaterialColorTheMaterialPricingEntry' FR<br />OM (SELECT 'com.lcs.wc.material.MaterialColorTheMaterialPricingE<br />ntry' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM MaterialPricingEntry B0)))) A0) UNION (SELECT 'com.lcs.wc.ma<br />terial.MaterialMasterTheLCSMaterialColor' FROM (SELECT 'com.lcs.<br />wc.material.MaterialMasterTheLCSMaterialColor' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMaterialColor B0<br />)))) A0) UNION (SELECT 'com.lcs.wc.material.MaterialMasterTheLCS<br />MaterialStrikeOff' FROM (SELECT 'com.lcs.wc.material.MaterialMas<br />terTheLCSMaterialStrikeOff' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM LCSMaterialStrikeOff B0)))) A0) UNION<br />(SELECT 'com.lcs.wc.material.MaterialMasterTheLCSMaterialSupplie<br />rMaster' FROM (SELECT 'com.lcs.wc.material.MaterialMasterTheLCSM<br />aterialSupplierMaster' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM LCSMaterialSupplierMaster B0)))) A0) UNION<br />(SELECT 'com.lcs.wc.material.MaterialSupplierMasterTheLCSMateria<br />lColor' FROM (SELECT 'com.lcs.wc.material.MaterialSupplierMaster<br />TheLCSMaterialColor' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM LCSMaterialColor B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.material.MaterialSupplierTheMaterialPricingEntry' FROM<br />(SELECT 'com.lcs.wc.material.MaterialSupplierTheMaterialPricingE<br />ntry' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM MaterialPricingEntry B0)))) A0) UNION (SELECT 'com.lcs.wc.ma<br />terial.StrikeOffTheLCSMaterialStrikeOffLayer' FROM (SELECT 'com.<br />lcs.wc.material.StrikeOffTheLCSMaterialStrikeOffLayer' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMaterial<br />StrikeOffLayer B0)))) A0) UNION (SELECT 'com.lcs.wc.material.Sup<br />plierMasterTheLCSMaterialColor' FROM (SELECT 'com.lcs.wc.materia<br />l.SupplierMasterTheLCSMaterialColor' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMaterialColor B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.material.SupplierMasterTheLCSMaterialSu<br />pplierMaster' FROM (SELECT 'com.lcs.wc.material.SupplierMasterTh<br />eLCSMaterialSupplierMaster' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM LCSMaterialSupplierMaster B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.measurements.FitTestTheLCSPointsOfMeasu<br />re' FROM (SELECT 'com.lcs.wc.measurements.FitTestTheLCSPointsOfM<br />easure' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM LCSPointsOfMeasure B0)))) A0) UNION (SELECT 'com.lcs.wc.me<br />asurements.FullSizeRangeTheActualSizeRange' FROM (SELECT 'com.lc<br />s.wc.measurements.FullSizeRangeTheActualSizeRange' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ActualSizeRange<br /> B0)))) A0) UNION (SELECT 'com.lcs.wc.measurements.FullSizeRange<br />TheLCSMeasurementsMaster' FROM (SELECT 'com.lcs.wc.measurements.<br />FullSizeRangeTheLCSMeasurementsMaster' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMeasurementsMaster B0)))<br />) A0) UNION (SELECT 'com.lcs.wc.measurements.GradingsTheLCSMeasu<br />rementsMaster' FROM (SELECT 'com.lcs.wc.measurements.GradingsThe<br />LCSMeasurementsMaster' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM LCSMeasurementsMaster B0)))) A0) UNION (SEL<br />ECT 'com.lcs.wc.measurements.InstanceSourceTheLCSPointsOfMeasure<br />' FROM (SELECT 'com.lcs.wc.measurements.InstanceSourceTheLCSPoin<br />tsOfMeasure' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM LCSPointsOfMeasure B0)))) A0) UNION (SELECT 'com.lcs.<br />wc.measurements.LCSMeasurementsToMaster' FROM (SELECT 'com.lcs.w<br />c.measurements.LCSMeasurementsToMaster' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMeasurements B0)))) A0)<br /> UNION (SELECT 'com.lcs.wc.measurements.LibraryItemTheLCSPointsO<br />fMeasure' FROM (SELECT 'com.lcs.wc.measurements.LibraryItemTheLC<br />SPointsOfMeasure' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM LCSPointsOfMeasure B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.measurements.MeasurementsMasterTheLCSFitTest' FROM (SELE<br />CT 'com.lcs.wc.measurements.MeasurementsMasterTheLCSFitTest' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSFi<br />tTest B0)))) A0) UNION (SELECT 'com.lcs.wc.measurements.Measurem<br />entsMasterTheLCSPointsOfMeasure' FROM (SELECT 'com.lcs.wc.measur<br />ements.MeasurementsMasterTheLCSPointsOfMeasure' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSPointsOfMeasure<br /> B0)))) A0) UNION (SELECT 'com.lcs.wc.measurements.MeasurementsP<br />ointsOfMeasure' FROM (SELECT 'com.lcs.wc.measurements.Measuremen<br />tsPointsOfMeasure' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM LCSPointsOfMeasure B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.measurements.ProductMasterMeasurements' FROM (SELECT 'c<br />om.lcs.wc.measurements.ProductMasterMeasurements' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMeasurementsM<br />aster B0)))) A0) UNION (SELECT 'com.lcs.wc.measurements.ProductM<br />asterTheLCSFitTest' FROM (SELECT 'com.lcs.wc.measurements.Produc<br />tMasterTheLCSFitTest' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM LCSFitTest B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.measurements.ProductMasterTheProductSizeCategory' FROM (SELE<br />CT 'com.lcs.wc.measurements.ProductMasterTheProductSizeCategory'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM P<br />roductSizeCategory B0)))) A0) UNION (SELECT 'com.lcs.wc.measurem<br />ents.ProductPieceTheLCSMeasurementsMaster' FROM (SELECT 'com.lcs<br />.wc.measurements.ProductPieceTheLCSMeasurementsMaster' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMeasurem<br />entsMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.measurements.Pro<br />ductSizeCategoryTheLCSMeasurementsMaster' FROM (SELECT 'com.lcs.<br />wc.measurements.ProductSizeCategoryTheLCSMeasurementsMaster' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMe<br />asurementsMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.measuremen<br />ts.SampleTheLCSFitTest' FROM (SELECT 'com.lcs.wc.measurements.Sa<br />mpleTheLCSFitTest' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM LCSFitTest B0)))) A0) UNION (SELECT 'com.lcs.wc<br />.measurements.SeasonMasterTheLCSMeasurementsMaster' FROM (SELECT<br /> 'com.lcs.wc.measurements.SeasonMasterTheLCSMeasurementsMaster'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LC<br />SMeasurementsMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.measure<br />ments.SizeCategoryTheActualSizeRange' FROM (SELECT 'com.lcs.wc.m<br />easurements.SizeCategoryTheActualSizeRange' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ActualSizeRange B0))))<br /> A0) UNION (SELECT 'com.lcs.wc.measurements.SizeCategoryTheLCSMe<br />asurementsMaster' FROM (SELECT 'com.lcs.wc.measurements.SizeCate<br />goryTheLCSMeasurementsMaster' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM LCSMeasurementsMaster B0)))) A0) UNI<br />ON (SELECT 'com.lcs.wc.measurements.SizeCategoryTheProductSizeCa<br />tegory' FROM (SELECT 'com.lcs.wc.measurements.SizeCategoryThePro<br />ductSizeCategory' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM ProductSizeCategory B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.measurements.SizeRangeTheProductSizeCategory' FROM (SEL<br />ECT 'com.lcs.wc.measurements.SizeRangeTheProductSizeCategory' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Prod<br />uctSizeCategory B0)))) A0) UNION (SELECT 'com.lcs.wc.measurement<br />s.SourceTemplateTheLCSMeasurementsMaster' FROM (SELECT 'com.lcs.<br />wc.measurements.SourceTemplateTheLCSMeasurementsMaster' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMeasure<br />mentsMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.measurements.So<br />urceTheLCSMeasurementsMaster' FROM (SELECT 'com.lcs.wc.measureme<br />nts.SourceTheLCSMeasurementsMaster' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM LCSMeasurementsMaster B0)))) A<br />0) UNION (SELECT 'com.lcs.wc.measurements.SourcingConfigMasterTh<br />eLCSFitTest' FROM (SELECT 'com.lcs.wc.measurements.SourcingConfi<br />gMasterTheLCSFitTest' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM LCSFitTest B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.media.LCSMediaMasToIter' FROM (SELECT 'com.lcs.wc.media.LCSM<br />ediaMasToIter' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM LCSMedia B0)))) A0) UNION (SELECT 'com.lcs.wc.moa.L<br />ockerTheLCSMOALock' FROM (SELECT 'com.lcs.wc.moa.LockerTheLCSMOA<br />Lock' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM LCSMOALock B0)))) A0) UNION (SELECT 'com.lcs.wc.moa.OwnerAtt<br />ributeTheLCSMOALock' FROM (SELECT 'com.lcs.wc.moa.OwnerAttribute<br />TheLCSMOALock' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM LCSMOALock B0)))) A0) UNION (SELECT 'com.lcs.wc.moa<br />.OwnerAttributeTheLCSMOAObject' FROM (SELECT 'com.lcs.wc.moa.Own<br />erAttributeTheLCSMOAObject' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM LCSMOAObject B0)))) A0) UNION (SELECT<br />'com.lcs.wc.moa.OwnerTheLCSMOALock' FROM (SELECT 'com.lcs.wc.moa<br />.OwnerTheLCSMOALock' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM LCSMOALock B0)))) A0) UNION (SELECT 'com.lcs.<br />wc.moa.OwnerTheLCSMOAObject' FROM (SELECT 'com.lcs.wc.moa.OwnerT<br />heLCSMOAObject' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM LCSMOAObject B0)))) A0) UNION (SELECT 'com.lcs.wc.<br />part.CopiedFromTheLCSPart' FROM (SELECT 'com.lcs.wc.part.CopiedF<br />romTheLCSPart' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM LCSPart B0)))) A0) UNION (SELECT 'com.lcs.wc.part.F<br />lexTypeTheLCSPart' FROM (SELECT 'com.lcs.wc.part.FlexTypeTheLCSP<br />art' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM LCSPart B0)))) A0) UNION (SELECT 'com.lcs.wc.part.RevisedFrom<br />TheLCSPart' FROM (SELECT 'com.lcs.wc.part.RevisedFromTheLCSPart'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM L<br />CSPart B0)))) A0) UNION (SELECT 'com.lcs.wc.product.CarriedOverF<br />romTheLCSProduct' FROM (SELECT 'com.lcs.wc.product.CarriedOverFr<br />omTheLCSProduct' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM LCSProduct B0)))) A0) UNION (SELECT 'com.lcs.wc.p<br />roduct.CarriedOverFromTheLCSSKU' FROM (SELECT 'com.lcs.wc.produc<br />t.CarriedOverFromTheLCSSKU' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM LCSSKU B0)))) A0) UNION (SELECT 'com.l<br />cs.wc.product.MovedFromTheLCSProduct' FROM (SELECT 'com.lcs.wc.p<br />roduct.MovedFromTheLCSProduct' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM LCSProduct B0)))) A0) UNION (SELECT<br /> 'com.lcs.wc.product.MovedFromTheLCSSKU' FROM (SELECT 'com.lcs.w<br />c.product.MovedFromTheLCSSKU' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM LCSSKU B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.product.PlaceholderMasterTheLCSProduct' FROM (SELECT 'co<br />m.lcs.wc.product.PlaceholderMasterTheLCSProduct' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSProduct B0))))<br /> A0) UNION (SELECT 'com.lcs.wc.product.ProductMasterTheLCSProduc<br />tPiece' FROM (SELECT 'com.lcs.wc.product.ProductMasterTheLCSProd<br />uctPiece' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM LCSProductPiece B0)))) A0) UNION (SELECT 'com.lcs.wc.pro<br />duct.ProductMasterTheLCSSKU' FROM (SELECT 'com.lcs.wc.product.Pr<br />oductMasterTheLCSSKU' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM LCSSKU B0)))) A0) UNION (SELECT 'com.lcs.wc.<br />product.ProductMasterTheProductDestination' FROM (SELECT 'com.lc<br />s.wc.product.ProductMasterTheProductDestination' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ProductDestinatio<br />n B0)))) A0) UNION (SELECT 'com.lcs.wc.product.SeasonMasterTheLC<br />SProduct' FROM (SELECT 'com.lcs.wc.product.SeasonMasterTheLCSPro<br />duct' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM LCSProduct B0)))) A0) UNION (SELECT 'com.lcs.wc.product.Seas<br />onMasterTheLCSSKU' FROM (SELECT 'com.lcs.wc.product.SeasonMaster<br />TheLCSSKU' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM LCSSKU B0)))) A0) UNION (SELECT 'com.lcs.wc.report.Prin<br />cipalTheCollectionDefault' FROM (SELECT 'com.lcs.wc.report.Princ<br />ipalTheCollectionDefault' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM CollectionDefault B0)))) A0) UNION (SELE<br />CT 'com.lcs.wc.sample.ColorTheLCSSample' FROM (SELECT 'com.lcs.w<br />c.sample.ColorTheLCSSample' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM LCSSample B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.sample.OwnerMasterTheLCSSample' FROM (SELECT 'com.lcs.w<br />c.sample.OwnerMasterTheLCSSample' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM LCSSample B0)))) A0) UNION (SELE<br />CT 'com.lcs.wc.sample.OwnerMasterTheLCSSampleRequest' FROM (SELE<br />CT 'com.lcs.wc.sample.OwnerMasterTheLCSSampleRequest' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSampleReq<br />uest B0)))) A0) UNION (SELECT 'com.lcs.wc.sample.SampleRequestTh<br />eLCSSample' FROM (SELECT 'com.lcs.wc.sample.SampleRequestTheLCSS<br />ample' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM LCSSample B0)))) A0) UNION (SELECT 'com.lcs.wc.sample.Sourc<br />ingMasterTheLCSSample' FROM (SELECT 'com.lcs.wc.sample.SourcingM<br />asterTheLCSSample' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM LCSSample B0)))) A0) UNION (SELECT 'com.lcs.wc.<br />sample.SourcingMasterTheLCSSampleRequest' FROM (SELECT 'com.lcs.<br />wc.sample.SourcingMasterTheLCSSampleRequest' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSampleRequest B0))<br />)) A0) UNION (SELECT 'com.lcs.wc.sample.SpecMasterTheLCSSample'<br />FROM (SELECT 'com.lcs.wc.sample.SpecMasterTheLCSSample' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSample<br />B0)))) A0) UNION (SELECT 'com.lcs.wc.sample.SpecMasterTheLCSSamp<br />leRequest' FROM (SELECT 'com.lcs.wc.sample.SpecMasterTheLCSSampl<br />eRequest' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM LCSSampleRequest B0)))) A0) UNION (SELECT 'com.lcs.wc.se<br />ason.AttributeTheLCSSeasonalChangeLog' FROM (SELECT 'com.lcs.wc.<br />season.AttributeTheLCSSeasonalChangeLog' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSeasonalChangeLog B0))<br />)) A0) UNION (SELECT 'com.lcs.wc.season.CarriedOverFromTheLCSSea<br />sonProductLink' FROM (SELECT 'com.lcs.wc.season.CarriedOverFromT<br />heLCSSeasonProductLink' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM LCSSeasonProductLink B0)))) A0) UNION (SEL<br />ECT 'com.lcs.wc.season.ChangedObjectTheLCSSeasonalChangeLog' FRO<br />M (SELECT 'com.lcs.wc.season.ChangedObjectTheLCSSeasonalChangeLo<br />g' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> LCSSeasonalChangeLog B0)))) A0) UNION (SELECT 'com.lcs.wc.seaso<br />n.CostSheetMasterTheLCSSeasonalChangeLog' FROM (SELECT 'com.lcs.<br />wc.season.CostSheetMasterTheLCSSeasonalChangeLog' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSeasonalChang<br />eLog B0)))) A0) UNION (SELECT 'com.lcs.wc.season.CostSheetTypeTh<br />eLCSSeason' FROM (SELECT 'com.lcs.wc.season.CostSheetTypeTheLCSS<br />eason' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM LCSSeason B0)))) A0) UNION (SELECT 'com.lcs.wc.season.Deliv<br />eryTheLCSProductDeliveryLink' FROM (SELECT 'com.lcs.wc.season.De<br />liveryTheLCSProductDeliveryLink' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM LCSProductDeliveryLink B0)))) A0)<br /> UNION (SELECT 'com.lcs.wc.season.DeliveryTypeTheLCSSeason' FROM<br /> (SELECT 'com.lcs.wc.season.DeliveryTypeTheLCSSeason' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSeason B0<br />)))) A0) UNION (SELECT 'com.lcs.wc.season.FactoryMasterTheLCSSea<br />sonProductFactoryLink' FROM (SELECT 'com.lcs.wc.season.FactoryMa<br />sterTheLCSSeasonProductFactoryLink' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM LCSSeasonProductFactoryLink B0<br />)))) A0) UNION (SELECT 'com.lcs.wc.season.MaterialGroupTheLCSSea<br />sonProductLink' FROM (SELECT 'com.lcs.wc.season.MaterialGroupThe<br />LCSSeasonProductLink' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM LCSSeasonProductLink B0)))) A0) UNION (SELEC<br />T 'com.lcs.wc.season.MaterialGroupTypeTheLCSSeason' FROM (SELECT<br /> 'com.lcs.wc.season.MaterialGroupTypeTheLCSSeason' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSeason B0)))<br />) A0) UNION (SELECT 'com.lcs.wc.season.MovedFromTheLCSSeasonProd<br />uctLink' FROM (SELECT 'com.lcs.wc.season.MovedFromTheLCSSeasonPr<br />oductLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM LCSSeasonProductLink B0)))) A0) UNION (SELECT 'com.lcs.<br />wc.season.PaletteTheLCSSeason' FROM (SELECT 'com.lcs.wc.season.P<br />aletteTheLCSSeason' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM LCSSeason B0)))) A0) UNION (SELECT 'com.lcs.wc<br />.season.ParentGroupTheSeasonGroupMaster' FROM (SELECT 'com.lcs.w<br />c.season.ParentGroupTheSeasonGroupMaster' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM SeasonGroupMaster B0))))<br /> A0) UNION (SELECT 'com.lcs.wc.season.ProductMasterTheLCSSeasona<br />lChangeLog' FROM (SELECT 'com.lcs.wc.season.ProductMasterTheLCSS<br />easonalChangeLog' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM LCSSeasonalChangeLog B0)))) A0) UNION (SELECT 'c<br />om.lcs.wc.season.ProductTypeTheLCSSeason' FROM (SELECT 'com.lcs.<br />wc.season.ProductTypeTheLCSSeason' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM LCSSeason B0)))) A0) UNION (SEL<br />ECT 'com.lcs.wc.season.SeasonGroupToIter' FROM (SELECT 'com.lcs.<br />wc.season.SeasonGroupToIter' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM SeasonGroup B0)))) A0) UNION (SELECT<br />'com.lcs.wc.season.SeasonMasterTheLCSDelivery' FROM (SELECT 'com<br />.lcs.wc.season.SeasonMasterTheLCSDelivery' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSDelivery B0)))) A0)<br />UNION (SELECT 'com.lcs.wc.season.SeasonMasterTheLCSMaterialGroup<br />' FROM (SELECT 'com.lcs.wc.season.SeasonMasterTheLCSMaterialGrou<br />p' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> LCSMaterialGroup B0)))) A0) UNION (SELECT 'com.lcs.wc.season.Se<br />asonMasterTheLCSSeasonalChangeLog' FROM (SELECT 'com.lcs.wc.seas<br />on.SeasonMasterTheLCSSeasonalChangeLog' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSeasonalChangeLog B0)))<br />) A0) UNION (SELECT 'com.lcs.wc.season.SeasonMasterTheSeasonGrou<br />pMaster' FROM (SELECT 'com.lcs.wc.season.SeasonMasterTheSeasonGr<br />oupMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM SeasonGroupMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.<br />season.SkuMasterTheLCSSeasonalChangeLog' FROM (SELECT 'com.lcs.w<br />c.season.SkuMasterTheLCSSeasonalChangeLog' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSeasonalChangeLog B0<br />)))) A0) UNION (SELECT 'com.lcs.wc.season.SourcingConfigMasterTh<br />eLCSSeasonalChangeLog' FROM (SELECT 'com.lcs.wc.season.SourcingC<br />onfigMasterTheLCSSeasonalChangeLog' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM LCSSeasonalChangeLog B0)))) A0<br />) UNION (SELECT 'com.lcs.wc.season.SourcingConfigTypeTheLCSSeaso<br />n' FROM (SELECT 'com.lcs.wc.season.SourcingConfigTypeTheLCSSeaso<br />n' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> LCSSeason B0)))) A0) UNION (SELECT 'com.lcs.wc.season.UserTheLC<br />SSeasonalChangeLog' FROM (SELECT 'com.lcs.wc.season.UserTheLCSSe<br />asonalChangeLog' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM LCSSeasonalChangeLog B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.sourcing.CarriedOverFromTheLCSCostSheet' FROM (SELECT '<br />com.lcs.wc.sourcing.CarriedOverFromTheLCSCostSheet' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSCostSheet B<br />0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing.CarriedOverFromTheL<br />CSSourceToSeasonLink' FROM (SELECT 'com.lcs.wc.sourcing.CarriedO<br />verFromTheLCSSourceToSeasonLink' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM LCSSourceToSeasonLink B0)))) A0)<br />UNION (SELECT 'com.lcs.wc.sourcing.CarriedOverFromTheLCSSourcing<br />Config' FROM (SELECT 'com.lcs.wc.sourcing.CarriedOverFromTheLCSS<br />ourcingConfig' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM LCSSourcingConfig B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.sourcing.LCSCostSheetToMaster' FROM (SELECT 'com.lcs.wc.sour<br />cing.LCSCostSheetToMaster' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM LCSCostSheet B0)))) A0) UNION (SELECT '<br />com.lcs.wc.sourcing.LCSSourcingToMaster' FROM (SELECT 'com.lcs.w<br />c.sourcing.LCSSourcingToMaster' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM LCSSourcingConfig B0)))) A0) UNION<br /> (SELECT 'com.lcs.wc.sourcing.MovedFromTheLCSCostSheet' FROM (SE<br />LECT 'com.lcs.wc.sourcing.MovedFromTheLCSCostSheet' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSCostSheet B<br />0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing.MovedFromTheLCSSour<br />ceToSeasonLink' FROM (SELECT 'com.lcs.wc.sourcing.MovedFromTheLC<br />SSourceToSeasonLink' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM LCSSourceToSeasonLink B0)))) A0) UNION (SELEC<br />T 'com.lcs.wc.sourcing.MovedFromTheLCSSourcingConfig' FROM (SELE<br />CT 'com.lcs.wc.sourcing.MovedFromTheLCSSourcingConfig' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSourcing<br />Config B0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing.ProductMast<br />erTheLCSCostSheetMaster' FROM (SELECT 'com.lcs.wc.sourcing.Produ<br />ctMasterTheLCSCostSheetMaster' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM LCSCostSheetMaster B0)))) A0) UNION<br /> (SELECT 'com.lcs.wc.sourcing.ProductMasterTheLCSSourcingConfigM<br />aster' FROM (SELECT 'com.lcs.wc.sourcing.ProductMasterTheLCSSour<br />cingConfigMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM LCSSourcingConfigMaster B0)))) A0) UNION (SELECT<br /> 'com.lcs.wc.sourcing.STSLtoMaster' FROM (SELECT 'com.lcs.wc.sou<br />rcing.STSLtoMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM LCSSourceToSeasonLink B0)))) A0) UNION (SELECT<br /> 'com.lcs.wc.sourcing.SeasonMasterTheLCSCostSheetMaster' FROM (S<br />ELECT 'com.lcs.wc.sourcing.SeasonMasterTheLCSCostSheetMaster' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSC<br />ostSheetMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing.Sea<br />sonMasterTheLCSSKUSourcingLink' FROM (SELECT 'com.lcs.wc.sourcin<br />g.SeasonMasterTheLCSSKUSourcingLink' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSKUSourcingLink B0)))) A0)<br /> UNION (SELECT 'com.lcs.wc.sourcing.SeasonMasterTheLCSSourceToSe<br />asonLinkMaster' FROM (SELECT 'com.lcs.wc.sourcing.SeasonMasterTh<br />eLCSSourceToSeasonLinkMaster' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM LCSSourceToSeasonLinkMaster B0)))) A<br />0) UNION (SELECT 'com.lcs.wc.sourcing.SkuMasterTheLCSCostSheetMa<br />ster' FROM (SELECT 'com.lcs.wc.sourcing.SkuMasterTheLCSCostSheet<br />Master' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM LCSCostSheetMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.so<br />urcing.SourcingConfigMasterTheLCSCostSheetMaster' FROM (SELECT '<br />com.lcs.wc.sourcing.SourcingConfigMasterTheLCSCostSheetMaster' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCS<br />CostSheetMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing.So<br />urcingConfigMasterTheLCSSourceToSeasonLinkMaster' FROM (SELECT '<br />com.lcs.wc.sourcing.SourcingConfigMasterTheLCSSourceToSeasonLink<br />Master' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM LCSSourceToSeasonLinkMaster B0)))) A0) UNION (SELECT 'com.<br />lcs.wc.sourcing.SpecificationMasterTheLCSCostSheetMaster' FROM (<br />SELECT 'com.lcs.wc.sourcing.SpecificationMasterTheLCSCostSheetMa<br />ster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM LCSCostSheetMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.spec<br />ification.ComponentTheFlexSpecToComponentLink' FROM (SELECT 'com<br />.lcs.wc.specification.ComponentTheFlexSpecToComponentLink' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FlexSpe<br />cToComponentLink B0)))) A0) UNION (SELECT 'com.lcs.wc.specificat<br />ion.SpecOwnerTheFlexSpecification' FROM (SELECT 'com.lcs.wc.spec<br />ification.SpecOwnerTheFlexSpecification' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM FlexSpecification B0))))<br />A0) UNION (SELECT 'com.lcs.wc.specification.SpecSourceTheFlexSpe<br />cification' FROM (SELECT 'com.lcs.wc.specification.SpecSourceThe<br />FlexSpecification' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM FlexSpecification B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.specification.SpecificationMasterTheFlexSpecToComponentL<br />ink' FROM (SELECT 'com.lcs.wc.specification.SpecificationMasterT<br />heFlexSpecToComponentLink' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM FlexSpecToComponentLink B0)))) A0) UNIO<br />N (SELECT 'com.lcs.wc.specification.TheFlexSpecDestinationTheFle<br />xSpecToComponentLink' FROM (SELECT 'com.lcs.wc.specification.The<br />FlexSpecDestinationTheFlexSpecToComponentLink' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FlexSpecToComponent<br />Link B0)))) A0) UNION (SELECT 'com.lcs.wc.supplier.LCSSuppMaster<br />ToItr' FROM (SELECT 'com.lcs.wc.supplier.LCSSuppMasterToItr' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSu<br />pplier B0)))) A0) UNION (SELECT 'com.lcs.wc.testing.SampleTheTes<br />tSpecificationMaster' FROM (SELECT 'com.lcs.wc.testing.SampleThe<br />TestSpecificationMaster' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM TestSpecificationMaster B0)))) A0) UNION<br />(SELECT 'com.lcs.wc.testing.SourceTemplateTheTestSpecificationMa<br />ster' FROM (SELECT 'com.lcs.wc.testing.SourceTemplateTheTestSpec<br />ificationMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM TestSpecificationMaster B0)))) A0) UNION (SELECT<br />'com.lcs.wc.testing.SourceTestDetailsTheTestDetails' FROM (SELEC<br />T 'com.lcs.wc.testing.SourceTestDetailsTheTestDetails' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM TestDetails<br /> B0)))) A0) UNION (SELECT 'com.lcs.wc.testing.SpecificationMaste<br />rTheTestDetails' FROM (SELECT 'com.lcs.wc.testing.SpecificationM<br />asterTheTestDetails' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM TestDetails B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.testing.TestConditionTheTestDetails' FROM (SELECT 'com.lcs.w<br />c.testing.TestConditionTheTestDetails' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM TestDetails B0)))) A0) UNIO<br />N (SELECT 'com.lcs.wc.testing.TestMethodTheTestDetails' FROM (SE<br />LECT 'com.lcs.wc.testing.TestMethodTheTestDetails' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM TestDetails B0)<br />))) A0) UNION (SELECT 'com.lcs.wc.testing.TestPropertyTheTestDet<br />ails' FROM (SELECT 'com.lcs.wc.testing.TestPropertyTheTestDetail<br />s' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> TestDetails B0)))) A0) UNION (SELECT 'com.lcs.wc.testing.TestPr<br />opertyTheTestStandard' FROM (SELECT 'com.lcs.wc.testing.TestProp<br />ertyTheTestStandard' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM TestStandard B0)))) A0) UNION (SELECT 'com.lc<br />s.wc.testing.TestSpecificationToMaster' FROM (SELECT 'com.lcs.wc<br />.testing.TestSpecificationToMaster' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM TestSpecification B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.testing.TestStandardTheTestDetails' FRO<br />M (SELECT 'com.lcs.wc.testing.TestStandardTheTestDetails' classn<br />ame FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM TestDeta<br />ils B0)))) A0) UNION (SELECT 'wt.inf.container.CreatorsLink' FRO<br />M (SELECT 'wt.inf.container.CreatorsLink' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM CreatorsLink B0)))) A0)<br />UNION (SELECT 'wt.inf.team.MyPageQueryable' FROM (SELECT 'wt.inf<br />.team.MyPageQueryable' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM MyPageQueryable B0)))) A0) UNION (SELECT 'w<br />t.queue.sch_entries' FROM (SELECT 'wt.queue.sch_entries' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM sch_entri<br />es B0)))) A0) UNION (SELECT 'wt.calendar.ComponentLink' FROM (SE<br />LECT 'wt.calendar.ComponentLink' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM ComponentLink B0)))) A0) UNION (S<br />ELECT 'wt.lifecycle.CurrentPhaseLink' FROM (SELECT 'wt.lifecycle<br />.CurrentPhaseLink' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM CurrentPhaseLink B0)))) A0) UNION (SELECT 'wt.l<br />ifecycle.PhaseSuccession' FROM (SELECT 'wt.lifecycle.PhaseSucces<br />sion' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM PhaseSuccession B0)))) A0) UNION (SELECT 'wt.lifecycle.Objec<br />tHistory' FROM (SELECT 'wt.lifecycle.ObjectHistory' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ObjectHistory<br />B0)))) A0) UNION (SELECT 'wt.lifecycle.PhaseLink' FROM (SELECT '<br />wt.lifecycle.PhaseLink' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM PhaseLink B0)))) A0) UNION (SELECT 'wt.lif<br />ecycle.AdHocAclLink' FROM (SELECT 'wt.lifecycle.AdHocAclLink' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM AdHo<br />cAclLink B0)))) A0) UNION (SELECT 'wt.lifecycle.DefaultCriterion<br />' FROM (SELECT 'wt.lifecycle.DefaultCriterion' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DefaultCriterion B0<br />)))) A0) UNION (SELECT 'wt.lifecycle.CriterionLink' FROM (SELECT<br /> 'wt.lifecycle.CriterionLink' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM CriterionLink B0)))) A0) UNION (SELE<br />CT 'wt.lifecycle.SignatureHistory' FROM (SELECT 'wt.lifecycle.Si<br />gnatureHistory' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM SignatureHistory B0)))) A0) UNION (SELECT 'wt.life<br />cycle.CriterionHistory' FROM (SELECT 'wt.lifecycle.CriterionHist<br />ory' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM CriterionHistory B0)))) A0) UNION (SELECT 'wt.content.HttpOpe<br />rationItem' FROM (SELECT 'wt.content.HttpOperationItem' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM HttpOperat<br />ionItem B0)))) A0) UNION (SELECT 'wt.content.HolderToContent' FR<br />OM (SELECT 'wt.content.HolderToContent' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM HolderToContent B0)))) A0)<br /> UNION (SELECT 'wt.content.OpLink' FROM (SELECT 'wt.content.OpLi<br />nk' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M OpLink B0)))) A0) UNION (SELECT 'wt.content.AggToContentItem'<br />FROM (SELECT 'wt.content.AggToContentItem' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM AggToContentItem B0))))<br /> A0) UNION (SELECT 'wt.fv.FvMount' FROM (SELECT 'wt.fv.FvMount'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Fv<br />Mount B0)))) A0) UNION (SELECT 'wt.folder.FolderMemberLink' FROM<br /> (SELECT 'wt.folder.FolderMemberLink' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM FolderMemberLink B0)))) A0)<br />UNION (SELECT 'wt.folder.SubFolderLink' FROM (SELECT 'wt.folder.<br />SubFolderLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM SubFolderLink B0)))) A0) UNION (SELECT 'wt.folder.S<br />hortcutLink' FROM (SELECT 'wt.folder.ShortcutLink' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ShortcutLink B0<br />)))) A0) UNION (SELECT 'wt.vc.MergeInfoLink' FROM (SELECT 'wt.vc<br />.MergeInfoLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM MergeInfoLink B0)))) A0) UNION (SELECT 'wt.build.B<br />uildHistory' FROM (SELECT 'wt.build.BuildHistory' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM BuildHistory B0)<br />))) A0) UNION (SELECT 'wt.epm.build.EPMBuildHistory' FROM (SELEC<br />T 'wt.epm.build.EPMBuildHistory' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM EPMBuildHistory B0)))) A0) UNION<br />(SELECT 'wt.enterprise.MadeFromLink' FROM (SELECT 'wt.enterprise<br />.MadeFromLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM MadeFromLink B0)))) A0) UNION (SELECT 'wt.federatio<br />n.FederatedLink' FROM (SELECT 'wt.federation.FederatedLink' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Federa<br />tedLink B0)))) A0) UNION (SELECT 'wt.change2.DetailedBy' FROM (S<br />ELECT 'wt.change2.DetailedBy' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM DetailedBy B0)))) A0) UNION (SELECT<br />'wt.change2.AcceptedStrategy' FROM (SELECT 'wt.change2.AcceptedS<br />trategy' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM AcceptedStrategy B0)))) A0) UNION (SELECT 'wt.change2.Res<br />earchedBy' FROM (SELECT 'wt.change2.ResearchedBy' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ResearchedBy B0)<br />))) A0) UNION (SELECT 'wt.change2.ChangeRecord2' FROM (SELECT 'w<br />t.change2.ChangeRecord2' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM ChangeRecord2 B0)))) A0) UNION (SELECT 'w<br />t.change2.IncludedIn2' FROM (SELECT 'wt.change2.IncludedIn2' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Inclu<br />dedIn2 B0)))) A0) UNION (SELECT 'wt.change2.AddressedBy2' FROM (<br />SELECT 'wt.change2.AddressedBy2' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM AddressedBy2 B0)))) A0) UNION (SE<br />LECT 'wt.change2.FormalizedBy' FROM (SELECT 'wt.change2.Formaliz<br />edBy' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM FormalizedBy B0)))) A0) UNION (SELECT 'wt.change2.RelevantAn<br />alysisData' FROM (SELECT 'wt.change2.RelevantAnalysisData' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Relevan<br />tAnalysisData B0)))) A0) UNION (SELECT 'wt.change2.AffectedActiv<br />ityData' FROM (SELECT 'wt.change2.AffectedActivityData' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM AffectedAc<br />tivityData B0)))) A0) UNION (SELECT 'wt.change2.RelevantRequestD<br />ata2' FROM (SELECT 'wt.change2.RelevantRequestData2' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM RelevantReque<br />stData2 B0)))) A0) UNION (SELECT 'wt.change2.SubjectProduct' FRO<br />M (SELECT 'wt.change2.SubjectProduct' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM SubjectProduct B0)))) A0) UN<br />ION (SELECT 'wt.change2.ProblemProduct' FROM (SELECT 'wt.change2<br />.ProblemProduct' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM ProblemProduct B0)))) A0) UNION (SELECT 'wt.chang<br />e2.ReportedAgainst' FROM (SELECT 'wt.change2.ReportedAgainst' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Repo<br />rtedAgainst B0)))) A0) UNION (SELECT 'wt.change2.PendingChange'<br />FROM (SELECT 'wt.change2.PendingChange' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM PendingChange B0)))) A0) U<br />NION (SELECT 'wt.change2.ChangesForMarkups' FROM (SELECT 'wt.cha<br />nge2.ChangesForMarkups' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM ChangesForMarkups B0)))) A0) UNION (SELECT<br /> 'wt.change2.ChangesForAnnotations' FROM (SELECT 'wt.change2.Cha<br />ngesForAnnotations' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM ChangesForAnnotations B0)))) A0) UNION (SELECT<br /> 'wt.representation.OutOfDateRepresentationLink' FROM (SELECT 'w<br />t.representation.OutOfDateRepresentationLink' classname FROM DUA<br />L WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM OutOfDateRepresentat<br />ionLink B0)))) A0) UNION (SELECT 'wt.part.WTPartAlternateLink' F<br />ROM (SELECT 'wt.part.WTPartAlternateLink' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTPartAlternateLink B0))<br />)) A0) UNION (SELECT 'wt.part.WTPartSubstituteLink' FROM (SELECT<br /> 'wt.part.WTPartSubstituteLink' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM WTPartSubstituteLink B0)))) A0) UN<br />ION (SELECT 'wt.part.PartExportInfo' FROM (SELECT 'wt.part.PartE<br />xportInfo' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM PartExportInfo B0)))) A0) UNION (SELECT 'wt.ufid.Owning<br />RepositoryLocalObject' FROM (SELECT 'wt.ufid.OwningRepositoryLoc<br />alObject' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM OwningRepositoryLocalObject B0)))) A0) UNION (SELECT 'wt<br />.viewmarkup.TheMarkUpTheViewable' FROM (SELECT 'wt.viewmarkup.Th<br />eMarkUpTheViewable' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM TheMarkUpTheViewable B0)))) A0) UNION (SELECT<br />'wt.viewmarkup.RepresentableConfigSpecLink' FROM (SELECT 'wt.vie<br />wmarkup.RepresentableConfigSpecLink' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM RepresentableConfigSpecLink B<br />0)))) A0) UNION (SELECT 'wt.viewmarkup.DerivedFromConfigSpecLink<br />' FROM (SELECT 'wt.viewmarkup.DerivedFromConfigSpecLink' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DerivedFr<br />omConfigSpecLink B0)))) A0) UNION (SELECT 'wt.part.PartCombinedP<br />athOccurrence' FROM (SELECT 'wt.part.PartCombinedPathOccurrence'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM P<br />artCombinedPathOccurrence B0)))) A0) UNION (SELECT 'wt.meeting.M<br />eetingParticipantLink' FROM (SELECT 'wt.meeting.MeetingParticipa<br />ntLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM MeetingParticipantLink B0)))) A0) UNION (SELECT 'wt.meetin<br />g.MeetingSubjectLink' FROM (SELECT 'wt.meeting.MeetingSubjectLin<br />k' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> MeetingSubjectLink B0)))) A0) UNION (SELECT 'wt.sandbox.Sandbox<br />CheckinLink' FROM (SELECT 'wt.sandbox.SandboxCheckinLink' classn<br />ame FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM SandboxC<br />heckinLink B0)))) A0) UNION (SELECT 'wt.epm.structure.EPMReferen<br />ceLink' FROM (SELECT 'wt.epm.structure.EPMReferenceLink' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMRefere<br />nceLink B0)))) A0) UNION (SELECT 'wt.epm.structure.EPMVariantLin<br />k' FROM (SELECT 'wt.epm.structure.EPMVariantLink' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMVariantLink B<br />0)))) A0) UNION (SELECT 'wt.epm.structure.EPMContainedIn' FROM (<br />SELECT 'wt.epm.structure.EPMContainedIn' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMContainedIn B0)))) A0)<br /> UNION (SELECT 'wt.epm.workspaces.EPMFamilyTableBaselineMember'<br />FROM (SELECT 'wt.epm.workspaces.EPMFamilyTableBaselineMember' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMF<br />TBaselineMember B0)))) A0) UNION (SELECT 'wt.meeting.actionitem.<br />ActionItemSubjectLink' FROM (SELECT 'wt.meeting.actionitem.Actio<br />nItemSubjectLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM ActionItemSubjectLink B0)))) A0) UNION (SELECT '<br />wt.org.electronicIdentity.SignatureLink' FROM (SELECT 'wt.org.el<br />ectronicIdentity.SignatureLink' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM SignatureLink B0)))) A0) UNION (SE<br />LECT 'wt.org.electronicIdentity.UserElectronicIDLink' FROM (SELE<br />CT 'wt.org.electronicIdentity.UserElectronicIDLink' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM UserElectronic<br />IDLink B0)))) A0) UNION (SELECT 'wt.projmgmt.resource.Deliverabl<br />eLink' FROM (SELECT 'wt.projmgmt.resource.DeliverableLink' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Deliver<br />ableLink B0)))) A0) UNION (SELECT 'wt.projmgmt.resource.Resource<br />AssignmentLink' FROM (SELECT 'wt.projmgmt.resource.ResourceAssig<br />nmentLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM ResourceAssignmentLink B0)))) A0) UNION (SELECT 'wt.rep<br />lication.unit.UnitSeedLink' FROM (SELECT 'wt.replication.unit.Un<br />itSeedLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM UnitSeedLink B0)))) A0) UNION (SELECT 'wt.replication.<br />receiver.CameFromUnit' FROM (SELECT 'wt.replication.receiver.Cam<br />eFromUnit' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM CameFromUnit B0)))) A0) UNION (SELECT 'wt.replication.s<br />ender.RemoteSiteTeamTemplateLink' FROM (SELECT 'wt.replication.s<br />ender.RemoteSiteTeamTemplateLink' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM RemoteSiteTeamTemplateLink B0)))<br />) A0) UNION (SELECT 'wt.vc.baseline.BaselineMember' FROM (SELECT<br /> 'wt.vc.baseline.BaselineMember' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM BaselineMember B0)))) A0) UNION (<br />SELECT 'wt.epm.workspaces.EPMAsStoredMember' FROM (SELECT 'wt.ep<br />m.workspaces.EPMAsStoredMember' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM EPMAsStoredMember B0)))) A0) UNION<br /> (SELECT 'wt.vc.baseline.BaselineRemoveMember' FROM (SELECT 'wt.<br />vc.baseline.BaselineRemoveMember' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM BaselineRemoveMember B0)))) A0)<br />UNION (SELECT 'wt.vc.wip.CheckoutLink' FROM (SELECT 'wt.vc.wip.C<br />heckoutLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM CheckoutLink B0)))) A0) UNION (SELECT 'wt.doc.WTDocum<br />entUsageLink' FROM (SELECT 'wt.doc.WTDocumentUsageLink' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTDocument<br />UsageLink B0)))) A0) UNION (SELECT 'wt.part.WTPartUsageLink' FRO<br />M (SELECT 'wt.part.WTPartUsageLink' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM WTPartUsageLink B0)))) A0) UNI<br />ON (SELECT 'wt.epm.structure.EPMMemberLink' FROM (SELECT 'wt.epm<br />.structure.EPMMemberLink' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM EPMMemberLink B0)))) A0) UNION (SELECT '<br />wt.part.WTPartReferenceLink' FROM (SELECT 'wt.part.WTPartReferen<br />ceLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM WTPartReferenceLink B0)))) A0) UNION (SELECT 'wt.part.WTPr<br />oductInstanceReferenceLink' FROM (SELECT 'wt.part.WTProductInsta<br />nceReferenceLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM WTPIReferenceLink B0)))) A0) UNION (SELECT 'wt.d<br />oc.WTDocumentDependencyLink' FROM (SELECT 'wt.doc.WTDocumentDepe<br />ndencyLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM WTDocumentDependencyLink B0)))) A0) UNION (SELECT 'wt.<br />part.WTPartDescribeLink' FROM (SELECT 'wt.part.WTPartDescribeLin<br />k' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> WTPartDescribeLink B0)))) A0) UNION (SELECT 'wt.part.WTProductI<br />nstanceDescribeLink' FROM (SELECT 'wt.part.WTProductInstanceDesc<br />ribeLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM WTPIDescribeLink B0)))) A0) UNION (SELECT 'wt.epm.struct<br />ure.EPMDescribeLink' FROM (SELECT 'wt.epm.structure.EPMDescribeL<br />ink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM EPMDescribeLink B0)))) A0) UNION (SELECT 'wt.vc.views.ViewAss<br />ociation' FROM (SELECT 'wt.vc.views.ViewAssociation' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ViewAssociati<br />on B0)))) A0) UNION (SELECT 'wt.workflow.definer.NodeTemplateLin<br />k' FROM (SELECT 'wt.workflow.definer.NodeTemplateLink' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM NodeTemplat<br />eLink B0)))) A0) UNION (SELECT 'wt.workflow.definer.ProcessStepT<br />emplateLink' FROM (SELECT 'wt.workflow.definer.ProcessStepTempla<br />teLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM ProcessStepTemplateLink B0)))) A0) UNION (SELECT 'wt.workf<br />low.engine.ActivityActivityLink' FROM (SELECT 'wt.workflow.engin<br />e.ActivityActivityLink' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM ActivityActivityLink B0)))) A0) UNION (SEL<br />ECT 'wt.workflow.engine.ActivityConnectorLink' FROM (SELECT 'wt.<br />workflow.engine.ActivityConnectorLink' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM ActivityConnectorLink B0)))<br />) A0) UNION (SELECT 'wt.workflow.engine.ConnectorActivityLink' F<br />ROM (SELECT 'wt.workflow.engine.ConnectorActivityLink' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ConnectorAc<br />tivityLink B0)))) A0) UNION (SELECT 'wt.workflow.engine.Connecto<br />rConnectorLink' FROM (SELECT 'wt.workflow.engine.ConnectorConnec<br />torLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM ConnectorConnectorLink B0)))) A0) UNION (SELECT 'wt.workf<br />low.forum.ForumSubjectLink' FROM (SELECT 'wt.workflow.forum.Foru<br />mSubjectLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM ForumSubjectLink B0)))) A0) UNION (SELECT 'wt.workfl<br />ow.forum.PostingAttachmentLink' FROM (SELECT 'wt.workflow.forum.<br />PostingAttachmentLink' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM PostingAttachmentLink B0)))) A0) UNION (SEL<br />ECT 'wt.workflow.notebook.NotebookSubjectLink' FROM (SELECT 'wt.<br />workflow.notebook.NotebookSubjectLink' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM NotebookSubjectLink B0))))<br />A0) UNION (SELECT 'wt.workflow.work.WorkItemLink' FROM (SELECT '<br />wt.workflow.work.WorkItemLink' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM WorkItemLink B0)))) A0) UNION (SELE<br />CT 'wt.workflow.work.ActivityAssignmentLink' FROM (SELECT 'wt.wo<br />rkflow.work.ActivityAssignmentLink' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM ActivityAssignmentLink B0))))<br />A0) UNION (SELECT 'wt.workflow.work.OverdueWorkItemLink' FROM (S<br />ELECT 'wt.workflow.work.OverdueWorkItemLink' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM OverdueWorkItemLink B<br />0)))) A0) UNION (SELECT 'wt.workflow.work.Ballots' FROM (SELECT<br />'wt.workflow.work.Ballots' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM Ballots B0)))) A0) UNION (SELECT 'wt.ma<br />turity.PromotionTarget' FROM (SELECT 'wt.maturity.PromotionTarge<br />t' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> PromotionTarget B0)))) A0) UNION (SELECT 'wt.maturity.Promotion<br />Seed' FROM (SELECT 'wt.maturity.PromotionSeed' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM PromotionSeed B0)))<br />) A0) UNION (SELECT 'com.ptc.windchill.esi.bom.AlternateItemGrou<br />p' FROM (SELECT 'com.ptc.windchill.esi.bom.AlternateItemGroup' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Alt<br />ernateItemGroup B0)))) A0) UNION (SELECT 'com.ptc.windchill.esi.<br />tgt.ESITargetAssignmentLink' FROM (SELECT 'com.ptc.windchill.esi<br />.tgt.ESITargetAssignmentLink' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM ESITargetAssignmentLink B0)))) A0) U<br />NION (SELECT 'com.ptc.windchill.esi.tgt.ESITargetOrganizationLin<br />k' FROM (SELECT 'com.ptc.windchill.esi.tgt.ESITargetOrganization<br />Link' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM ESITargetOrganizationLink B0)))) A0) UNION (SELECT 'com.ptc.<br />windchill.esi.txn.ReleaseActivity' FROM (SELECT 'com.ptc.windchi<br />ll.esi.txn.ReleaseActivity' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM ReleaseActivity B0)))) A0) UNION (SELE<br />CT 'com.ptc.windchill.esi.txn.ESIRelatedTransaction' FROM (SELEC<br />T 'com.ptc.windchill.esi.txn.ESIRelatedTransaction' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ESIRelatedTran<br />saction B0)))) A0) UNION (SELECT 'com.ptc.windchill.esi.txn.ESIT<br />ransactionObjectLink' FROM (SELECT 'com.ptc.windchill.esi.txn.ES<br />ITransactionObjectLink' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM ESITransactionObjectLink B0)))) A0) UNION<br />(SELECT 'com.ptc.windchill.esi.txn.ESITransactionRelease' FROM (<br />SELECT 'com.ptc.windchill.esi.txn.ESITransactionRelease' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ESITransa<br />ctionRelease B0)))) A0) UNION (SELECT 'com.ptc.core.htmlcomp.tab<br />leview.ActiveViewLink' FROM (SELECT 'com.ptc.core.htmlcomp.table<br />view.ActiveViewLink' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM ActiveViewLink B0)))) A0) UNION (SELECT 'wt.d<br />ataops.objectcol.CriterionDefValidWith' FROM (SELECT 'wt.dataops<br />.objectcol.CriterionDefValidWith' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM CriterionDefValidWith B0)))) A0)<br /> UNION (SELECT 'wt.representation.PublishedContentLink' FROM (SE<br />LECT 'wt.representation.PublishedContentLink' classname FROM DUA<br />L WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM PublishedContentLink<br /> B0)))) A0) UNION (SELECT 'com.ptc.windchill.ixb.importer.JobToT<br />rackableLink' FROM (SELECT 'com.ptc.windchill.ixb.importer.JobTo<br />TrackableLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM JobToTrackableLink B0)))) A0) UNION (SELECT 'com.pt<br />c.windchill.ixb.importer.JobToBaselineLink' FROM (SELECT 'com.pt<br />c.windchill.ixb.importer.JobToBaselineLink' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM JobToBaselineLink B0))<br />)) A0) UNION (SELECT 'com.ptc.windchill.ixb.importer.JobToQueueE<br />ntryLink' FROM (SELECT 'com.ptc.windchill.ixb.importer.JobToQueu<br />eEntryLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM JobToQueueEntryLink B0)))) A0) UNION (SELECT 'com.lcs.<br />wc.foundation.LCSObjectToObjectLink' FROM (SELECT 'com.lcs.wc.fo<br />undation.LCSObjectToObjectLink' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM LCSObjectToObjectLink B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.color.LCSPaletteMaterialColorLink' FROM<br /> (SELECT 'com.lcs.wc.color.LCSPaletteMaterialColorLink' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSPalette<br />MaterialColorLink B0)))) A0) UNION (SELECT 'com.lcs.wc.color.LCS<br />PaletteMaterialLink' FROM (SELECT 'com.lcs.wc.color.LCSPaletteMa<br />terialLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM LCSPaletteMaterialLink B0)))) A0) UNION (SELECT 'com.l<br />cs.wc.color.LCSPaletteToColorLink' FROM (SELECT 'com.lcs.wc.colo<br />r.LCSPaletteToColorLink' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM LCSPaletteToColorLink B0)))) A0) UNION (S<br />ELECT 'com.lcs.wc.document.LCSDocumentCollectionLink' FROM (SELE<br />CT 'com.lcs.wc.document.LCSDocumentCollectionLink' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSDocumentColl<br />ectionLink B0)))) A0) UNION (SELECT 'com.lcs.wc.document.LCSDocu<br />mentToObjectLink' FROM (SELECT 'com.lcs.wc.document.LCSDocumentT<br />oObjectLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM LCSDocumentToObjectLink B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.factory.LCSManufacturerLink' FROM (SELECT 'com.lcs.wc.fa<br />ctory.LCSManufacturerLink' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM LCSManufacturerLink B0)))) A0) UNION (S<br />ELECT 'com.lcs.wc.foundation.LCSEffectiveLink' FROM (SELECT 'com<br />.lcs.wc.foundation.LCSEffectiveLink' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM LCSEffectiveLink B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.season.LCSProductDeliveryLink' FROM (SE<br />LECT 'com.lcs.wc.season.LCSProductDeliveryLink' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSProductDelivery<br />Link B0)))) A0) UNION (SELECT 'com.lcs.wc.season.LCSSeasonProduc<br />tFactoryLink' FROM (SELECT 'com.lcs.wc.season.LCSSeasonProductFa<br />ctoryLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM LCSSeasonProductFactoryLink B0)))) A0) UNION (SELECT 'c<br />om.lcs.wc.season.LCSSeasonProductLink' FROM (SELECT 'com.lcs.wc.<br />season.LCSSeasonProductLink' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM LCSSeasonProductLink B0)))) A0) UNION<br /> (SELECT 'com.lcs.wc.season.SeasonGroupToProductLink' FROM (SELE<br />CT 'com.lcs.wc.season.SeasonGroupToProductLink' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM SeasonGroupToProdu<br />ctLink B0)))) A0) UNION (SELECT 'com.lcs.wc.season.SeasonGroupTo<br />SKULink' FROM (SELECT 'com.lcs.wc.season.SeasonGroupToSKULink' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Sea<br />sonGroupToSKULink B0)))) A0) UNION (SELECT 'com.lcs.wc.media.LCS<br />MediaToProductLink' FROM (SELECT 'com.lcs.wc.media.LCSMediaToPro<br />ductLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM LCSMediaToProductLink B0)))) A0) UNION (SELECT 'com.lcs.<br />wc.sourcing.LCSSKUSourcingLink' FROM (SELECT 'com.lcs.wc.sourcin<br />g.LCSSKUSourcingLink' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM LCSSKUSourcingLink B0)))) A0) UNION (SELECT<br />'com.lcs.wc.season.SeasonToGroupTypeLink' FROM (SELECT 'com.lcs.<br />wc.season.SeasonToGroupTypeLink' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM SeasonToGroupTypeLink B0)))) A0)<br />UNION (SELECT 'com.lcs.wc.sourcing.CostSheetToColorLink' FROM (S<br />ELECT 'com.lcs.wc.sourcing.CostSheetToColorLink' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM CostSheetToColorL<br />ink B0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing.CostSheetToDes<br />tinationLink' FROM (SELECT 'com.lcs.wc.sourcing.CostSheetToDesti<br />nationLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM CostSheetToDestinationLink B0)))) A0) UNION (SELECT 'c<br />om.lcs.wc.sourcing.CostSheetToSizeCategoryLink' FROM (SELECT 'co<br />m.lcs.wc.sourcing.CostSheetToSizeCategoryLink' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM CostSheetToSizeCate<br />goryLink B0)))) A0) UNION (SELECT 'com.lcs.wc.specification.Flex<br />SpecToSeasonLink' FROM (SELECT 'com.lcs.wc.specification.FlexSpe<br />cToSeasonLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM FlexSpecToSeasonLink B0)))) A0) UNION (SELECT 'wt.l<br />ifecycle.IteratedCurrentPhaseLink' FROM (SELECT 'wt.lifecycle.It<br />eratedCurrentPhaseLink' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM IteratedCurrentPhaseLink B0)))) A0) UNION<br />(SELECT 'wt.folder.IteratedShortcutLink' FROM (SELECT 'wt.folder<br />.IteratedShortcutLink' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM IteratedShortcutLink B0)))) A0) UNION (SELE<br />CT 'wt.folder.IteratedFolderMemberLink' FROM (SELECT 'wt.folder.<br />IteratedFolderMemberLink' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM IterFolderMemberLink B0)))) A0) UNION (S<br />ELECT 'wt.part.ProductInstanceConfiguration' FROM (SELECT 'wt.pa<br />rt.ProductInstanceConfiguration' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM WTProductInstance2 B0)))) A0) UNI<br />ON (SELECT 'wt.part.SNPartInstanceSNPart' FROM (SELECT 'wt.part.<br />SNPartInstanceSNPart' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM WTSNPartInstance B0)))) A0) UNION (SELECT 'w<br />t.sandbox.SandboxCheckoutLink' FROM (SELECT 'wt.sandbox.SandboxC<br />heckoutLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM SandboxCheckoutLink B0)))) A0) UNION (SELECT 'wt.work<br />flow.forum.IteratedForumSubjectLink' FROM (SELECT 'wt.workflow.f<br />orum.IteratedForumSubjectLink' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM IteratedForumSubjectLink B0)))) A0)<br /> UNION (SELECT 'wt.workflow.notebook.IteratedNotebookSubjectLink<br />' FROM (SELECT 'wt.workflow.notebook.IteratedNotebookSubjectLink<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />IteratedNotebookSubjectLink B0)))) A0) UNION (SELECT 'wt.meeting<br />.actionitem.IteratedActionItemSubjectLink' FROM (SELECT 'wt.meet<br />ing.actionitem.IteratedActionItemSubjectLink' classname FROM DUA<br />L WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM IteratedActionItemSu<br />bjectLink B0)))) A0) UNION (SELECT 'wt.epm.build.EPMBuildLinksRu<br />le' FROM (SELECT 'wt.epm.build.EPMBuildLinksRule' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMBuildLinksRul<br />e B0)))) A0) UNION (SELECT 'wt.fc.dynamicenum.FilteredDynamicEnu<br />mSet' FROM (SELECT 'wt.fc.dynamicenum.FilteredDynamicEnumSet' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Filt<br />eredDynamicEnumSet B0)))) A0) UNION (SELECT 'wt.inf.sharing.Shar<br />edContainerMap' FROM (SELECT 'wt.inf.sharing.SharedContainerMap'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM S<br />haredContainerMap B0)))) A0) UNION (SELECT 'wt.admin.Administrat<br />iveDomain' FROM (SELECT 'wt.admin.AdministrativeDomain' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Administra<br />tiveDomain B0)))) A0) UNION (SELECT 'wt.org.WTUser' FROM (SELECT<br /> 'wt.org.WTUser' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM WTUser B0)))) A0) UNION (SELECT 'wt.federation.Pr<br />oxyUser' FROM (SELECT 'wt.federation.ProxyUser' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ProxyUser B0)))) A<br />0) UNION (SELECT 'wt.org.WTGroup' FROM (SELECT 'wt.org.WTGroup'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WT<br />Group B0)))) A0) UNION (SELECT 'wt.org.WTOrganization' FROM (SEL<br />ECT 'wt.org.WTOrganization' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM WTOrganization B0)))) A0) UNION (SELEC<br />T 'wt.federation.ProxyGroup' FROM (SELECT 'wt.federation.ProxyGr<br />oup' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM ProxyGroup B0)))) A0) UNION (SELECT 'wt.access.AccessPolicy'<br />FROM (SELECT 'wt.access.AccessPolicy' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM AccessPolicy B0)))) A0) UNIO<br />N (SELECT 'wt.access.AccessPolicyRule' FROM (SELECT 'wt.access.A<br />ccessPolicyRule' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM AccessPolicyRule B0)))) A0) UNION (SELECT 'wt.que<br />ue.ProcessingQueue' FROM (SELECT 'wt.queue.ProcessingQueue' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Proces<br />singQueue B0)))) A0) UNION (SELECT 'wt.queue.ScheduleQueue' FROM<br /> (SELECT 'wt.queue.ScheduleQueue' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM ScheduleQueue B0)))) A0) UNION (<br />SELECT 'wt.queue.QueueEntry' FROM (SELECT 'wt.queue.QueueEntry'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Qu<br />eueEntry B0)))) A0) UNION (SELECT 'wt.queue.ScheduleQueueEntry'<br />FROM (SELECT 'wt.queue.ScheduleQueueEntry' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ScheduleQueueEntry B0))<br />)) A0) UNION (SELECT 'wt.index.IndexPolicy' FROM (SELECT 'wt.ind<br />ex.IndexPolicy' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM IndexPolicy B0)))) A0) UNION (SELECT 'wt.index.Ind<br />exPolicyRule' FROM (SELECT 'wt.index.IndexPolicyRule' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM IndexPolicyR<br />ule B0)))) A0) UNION (SELECT 'wt.notify.NotificationPolicy' FROM<br /> (SELECT 'wt.notify.NotificationPolicy' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM NotificationPolicy B0))))<br />A0) UNION (SELECT 'wt.notify.NotificationRule' FROM (SELECT 'wt.<br />notify.NotificationRule' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM NotificationRule B0)))) A0) UNION (SELECT<br /> 'wt.content.DataFormat' FROM (SELECT 'wt.content.DataFormat' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Data<br />Format B0)))) A0) UNION (SELECT 'wt.content.HttpContentOperation<br />' FROM (SELECT 'wt.content.HttpContentOperation' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM HttpContentOperat<br />ion B0)))) A0) UNION (SELECT 'wt.folder.SubFolder' FROM (SELECT<br />'wt.folder.SubFolder' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM SubFolder B0)))) A0) UNION (SELECT 'wt.folde<br />r.Cabinet' FROM (SELECT 'wt.folder.Cabinet' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Cabinet B0)))) A0) UNI<br />ON (SELECT 'wt.federation.FederatedDirectoryService' FROM (SELEC<br />T 'wt.federation.FederatedDirectoryService' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FederatedDirectoryServ<br />ice B0)))) A0) UNION (SELECT 'wt.federation.DirectoryTranslation<br />Table' FROM (SELECT 'wt.federation.DirectoryTranslationTable' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Dire<br />ctoryTranslationTable B0)))) A0) UNION (SELECT 'wt.federation.Fe<br />deratedInfoEngineService' FROM (SELECT 'wt.federation.FederatedI<br />nfoEngineService' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM FederatedInfoEngineService B0)))) A0) UNION (SEL<br />ECT 'wt.federation.InfoEngineTranslationTable' FROM (SELECT 'wt.<br />federation.InfoEngineTranslationTable' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM InfoEngineTranslationTable<br />B0)))) A0) UNION (SELECT 'wt.viewmarkup.WTMarkUp' FROM (SELECT '<br />wt.viewmarkup.WTMarkUp' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM WTMarkUp B0)))) A0) UNION (SELECT 'wt.rule<br />.InstanceBasedRule' FROM (SELECT 'wt.rule.InstanceBasedRule' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Insta<br />nceBasedRule B0)))) A0) UNION (SELECT 'wt.rule.TypeBasedRule' FR<br />OM (SELECT 'wt.rule.TypeBasedRule' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM TypeBasedRule B0)))) A0) UNION<br />(SELECT 'wt.audit.eventinfo.AccessRuleEventInfo' FROM (SELECT 'w<br />t.audit.eventinfo.AccessRuleEventInfo' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM AccessRuleEventInfo B0))))<br />A0) UNION (SELECT 'wt.audit.eventinfo.TeamEventRolePrincipalInfo<br />' FROM (SELECT 'wt.audit.eventinfo.TeamEventRolePrincipalInfo' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Tea<br />mEventRolePrincipalInfo B0)))) A0) UNION (SELECT 'wt.audit.event<br />info.TeamEventRolePoolInfo' FROM (SELECT 'wt.audit.eventinfo.Tea<br />mEventRolePoolInfo' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM TeamEventRolePoolInfo B0)))) A0) UNION (SELECT<br /> 'wt.audit.eventinfo.ActionItemEventInfo' FROM (SELECT 'wt.audit<br />.eventinfo.ActionItemEventInfo' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM ActionItemEventInfo B0)))) A0) UNI<br />ON (SELECT 'wt.audit.eventinfo.GroupEventInfo' FROM (SELECT 'wt.<br />audit.eventinfo.GroupEventInfo' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM GroupEventInfo B0)))) A0) UNION (S<br />ELECT 'wt.audit.eventinfo.ProjectEventInfo' FROM (SELECT 'wt.aud<br />it.eventinfo.ProjectEventInfo' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM ProjectEventInfo B0)))) A0) UNION (<br />SELECT 'wt.audit.eventinfo.ExecObjectEventInfo' FROM (SELECT 'wt<br />.audit.eventinfo.ExecObjectEventInfo' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM ExecObjectEventInfo B0)))) A<br />0) UNION (SELECT 'wt.audit.eventinfo.CustomEventInfo' FROM (SELE<br />CT 'wt.audit.eventinfo.CustomEventInfo' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM CustomEventInfo B0)))) A0)<br /> UNION (SELECT 'wt.audit.eventinfo.AdHocEventInfo' FROM (SELECT<br />'wt.audit.eventinfo.AdHocEventInfo' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM AdHocEventInfo B0)))) A0) UNIO<br />N (SELECT 'wt.audit.eventinfo.WfVariableEventInfo' FROM (SELECT<br />'wt.audit.eventinfo.WfVariableEventInfo' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfVariableEventInfo B0)))<br />) A0) UNION (SELECT 'wt.audit.eventinfo.NotAuthorizedEventInfo'<br />FROM (SELECT 'wt.audit.eventinfo.NotAuthorizedEventInfo' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM NotAuthor<br />izedEventInfo B0)))) A0) UNION (SELECT 'wt.audit.eventinfo.Renam<br />eEventInfo' FROM (SELECT 'wt.audit.eventinfo.RenameEventInfo' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Rena<br />meEventInfo B0)))) A0) UNION (SELECT 'wt.audit.eventinfo.Locatio<br />nChangeEventInfo' FROM (SELECT 'wt.audit.eventinfo.LocationChang<br />eEventInfo' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM LocatiDEFANGED_OnChangeEventInfo B0)))) A0) UNION (SELECT 'wt.a<br />udit.eventinfo.CADNameChangeEventInfo' FROM (SELECT 'wt.audit.ev<br />entinfo.CADNameChangeEventInfo' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM CADNameChangeEventInfo B0)))) A0)<br />UNION (SELECT 'wt.projmgmt.monitor.StateChangeEvent' FROM (SELEC<br />T 'wt.projmgmt.monitor.StateChangeEvent' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM StateChangeEvent B0)))) A<br />0) UNION (SELECT 'wt.projmgmt.monitor.StatusChangeEvent' FROM (S<br />ELECT 'wt.projmgmt.monitor.StatusChangeEvent' classname FROM DUA<br />L WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM StatusChangeEvent B0<br />)))) A0) UNION (SELECT 'wt.projmgmt.monitor.DeadlineChangeEvent'<br /> FROM (SELECT 'wt.projmgmt.monitor.DeadlineChangeEvent' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DeadlineCh<br />angeEvent B0)))) A0) UNION (SELECT 'wt.projmgmt.monitor.ObjectDe<br />letionEvent' FROM (SELECT 'wt.projmgmt.monitor.ObjectDeletionEve<br />nt' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M ObjectDeletionEvent B0)))) A0) UNION (SELECT 'wt.projmgmt.moni<br />tor.DeadlineEvent' FROM (SELECT 'wt.projmgmt.monitor.DeadlineEve<br />nt' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M DeadlineEvent B0)))) A0) UNION (SELECT 'wt.projmgmt.monitor.Ow<br />nerChangeEvent' FROM (SELECT 'wt.projmgmt.monitor.OwnerChangeEve<br />nt' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M OwnerChangeEvent B0)))) A0) UNION (SELECT 'wt.projmgmt.resourc<br />e.MaterialResource' FROM (SELECT 'wt.projmgmt.resource.MaterialR<br />esource' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM MaterialResource B0)))) A0) UNION (SELECT 'wt.projmgmt.re<br />source.InformationResource' FROM (SELECT 'wt.projmgmt.resource.I<br />nformationResource' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM InformationResource B0)))) A0) UNION (SELECT '<br />wt.projmgmt.resource.EquipmentResource' FROM (SELECT 'wt.projmgm<br />t.resource.EquipmentResource' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM EquipmentResource B0)))) A0) UNION (<br />SELECT 'wt.projmgmt.resource.PersonResource' FROM (SELECT 'wt.pr<br />ojmgmt.resource.PersonResource' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM PersonResource B0)))) A0) UNION (S<br />ELECT 'wt.projmgmt.resource.RoleResource' FROM (SELECT 'wt.projm<br />gmt.resource.RoleResource' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM RoleResource B0)))) A0) UNION (SELECT '<br />wt.projmgmt.resource.FacilityResource' FROM (SELECT 'wt.projmgmt<br />.resource.FacilityResource' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM FacilityResource B0)))) A0) UNION (SEL<br />ECT 'wt.projmgmt.resource.Deliverable' FROM (SELECT 'wt.projmgmt<br />.resource.Deliverable' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM Deliverable B0)))) A0) UNION (SELECT 'wt.wo<br />rkflow.forum.DiscussionForumTemplate' FROM (SELECT 'wt.workflow.<br />forum.DiscussionForumTemplate' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM DiscussionForumTemplate B0)))) A0)<br />UNION (SELECT 'wt.workflow.notebook.NotebookTemplate' FROM (SELE<br />CT 'wt.workflow.notebook.NotebookTemplate' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM NotebookTemplate B0))))<br /> A0) UNION (SELECT 'com.ptc.windchill.esi.tgt.ESITarget' FROM (S<br />ELECT 'com.ptc.windchill.esi.tgt.ESITarget' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ESITarget B0)))) A0) U<br />NION (SELECT 'com.ptc.windchill.esi.txn.ESITransaction' FROM (SE<br />LECT 'com.ptc.windchill.esi.txn.ESITransaction' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ESITransaction B0)<br />))) A0) UNION (SELECT 'com.ptc.core.htmlcomp.tableview.TableView<br />Descriptor' FROM (SELECT 'com.ptc.core.htmlcomp.tableview.TableV<br />iewDescriptor' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM TableViewDescriptor B0)))) A0) UNION (SELECT 'wt.fc<br />.SemanticKey' FROM (SELECT 'wt.fc.SemanticKey' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM SemanticKey B0))))<br />A0) UNION (SELECT 'wt.folder.SubFolderLinkConstraint' FROM (SELE<br />CT 'wt.folder.SubFolderLinkConstraint' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM SubFolderLinkConstraint B0)<br />))) A0) UNION (SELECT 'wt.doc.WTDocumentMasterKey' FROM (SELECT<br />'wt.doc.WTDocumentMasterKey' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM WTDocumentMasterKey B0)))) A0) UNION<br />(SELECT 'wt.eff.EffContextKey' FROM (SELECT 'wt.eff.EffContextKe<br />y' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> EffContextKey B0)))) A0) UNION (SELECT 'wt.change2.ChangeKey' F<br />ROM (SELECT 'wt.change2.ChangeKey' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM ChangeKey B0)))) A0) UNION (SEL<br />ECT 'wt.part.WTPartMasterKey' FROM (SELECT 'wt.part.WTPartMaster<br />Key' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM WTPartMasterKey B0)))) A0) UNION (SELECT 'wt.epm.EPMDocumentM<br />asterKey' FROM (SELECT 'wt.epm.EPMDocumentMasterKey' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMDocumentMa<br />sterKey B0)))) A0) UNION (SELECT 'wt.viewmarkup.DerivedImageKey'<br /> FROM (SELECT 'wt.viewmarkup.DerivedImageKey' classname FROM DUA<br />L WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DerivedImageKey B0))<br />)) A0) UNION (SELECT 'wt.epm.workspaces.EPMWorkspaceKey' FROM (S<br />ELECT 'wt.epm.workspaces.EPMWorkspaceKey' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMWorkspaceKey B0)))) A<br />0) UNION (SELECT 'wt.replication.unit.WTUnitMasterKey' FROM (SEL<br />ECT 'wt.replication.unit.WTUnitMasterKey' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTUnitMasterKey B0)))) A<br />0) UNION (SELECT 'wt.vc.baseline.ManagedBaselineKey' FROM (SELEC<br />T 'wt.vc.baseline.ManagedBaselineKey' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM ManagedBaselineKey B0)))) A0<br />) UNION (SELECT 'wt.maturity.MaturityKey' FROM (SELECT 'wt.matur<br />ity.MaturityKey' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM MaturityKey B0)))) A0) UNION (SELECT 'com.ptc.win<br />dchill.esi.tgt.ESITargetKey' FROM (SELECT 'com.ptc.windchill.esi<br />.tgt.ESITargetKey' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM ESITargetKey B0)))) A0) UNION (SELECT 'wt.datao<br />ps.objectcol.AbsCollectionCriteriaKey' FROM (SELECT 'wt.dataops.<br />objectcol.AbsCollectionCriteriaKey' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM AbsCollectionCriteriaKey B0)))<br />) A0) UNION (SELECT 'wt.dataops.objectcol.BaseCriterionDefMaster<br />Key' FROM (SELECT 'wt.dataops.objectcol.BaseCriterionDefMasterKe<br />y' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> BaseCriterionDefMasterKey B0)))) A0) UNION (SELECT 'wt.fc.Pagin<br />gSession' FROM (SELECT 'wt.fc.PagingSession' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM PagingSession B0))))<br />A0) UNION (SELECT 'wt.inf.container.ExchangeContainer' FROM (SEL<br />ECT 'wt.inf.container.ExchangeContainer' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM ExchangeContainer B0))))<br />A0) UNION (SELECT 'wt.inf.container.OrgContainer' FROM (SELECT '<br />wt.inf.container.OrgContainer' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM OrgContainer B0)))) A0) UNION (SELE<br />CT 'wt.inf.template.DefaultWTContainerTemplate' FROM (SELECT 'wt<br />.inf.template.DefaultWTContainerTemplate' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DefaultWTContainerTempla<br />te B0)))) A0) UNION (SELECT 'wt.inf.library.WTLibrary' FROM (SEL<br />ECT 'wt.inf.library.WTLibrary' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM WTLibrary B0)))) A0) UNION (SELECT<br />'wt.query.SavedQuery' FROM (SELECT 'wt.query.SavedQuery' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM SavedQuer<br />y B0)))) A0) UNION (SELECT 'wt.access.PolicyAcl' FROM (SELECT 'w<br />t.access.PolicyAcl' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM PolicyAcl B0)))) A0) UNION (SELECT 'wt.access.<br />AdHocAclSpec' FROM (SELECT 'wt.access.AdHocAclSpec' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM AdHocAclSpec B<br />0)))) A0) UNION (SELECT 'wt.index.IndexPolicyList' FROM (SELECT<br />'wt.index.IndexPolicyList' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM IndexPolicyList B0)))) A0) UNION (SELEC<br />T 'wt.project.Project' FROM (SELECT 'wt.project.Project' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Project B<br />0)))) A0) UNION (SELECT 'wt.lifecycle.PhaseTemplate' FROM (SELEC<br />T 'wt.lifecycle.PhaseTemplate' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM PhaseTemplate B0)))) A0) UNION (SEL<br />ECT 'wt.inf.team.ContainerTeam' FROM (SELECT 'wt.inf.team.Contai<br />nerTeam' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM ContainerTeam B0)))) A0) UNION (SELECT 'wt.team.TeamTempl<br />ate' FROM (SELECT 'wt.team.TeamTemplate' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM TeamTemplate B0)))) A0) U<br />NION (SELECT 'wt.team.Team' FROM (SELECT 'wt.team.Team' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Team B0)))<br />) A0) UNION (SELECT 'wt.team.TeamDistributionList' FROM (SELECT<br />'wt.team.TeamDistributionList' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM TeamDistributionList B0)))) A0) UNI<br />ON (SELECT 'wt.team.RoleRoleMap' FROM (SELECT 'wt.team.RoleRoleM<br />ap' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M RoleRoleMap B0)))) A0) UNION (SELECT 'wt.team.RolePrincipalMap<br />' FROM (SELECT 'wt.team.RolePrincipalMap' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM RolePrincipalMap B0))))<br />A0) UNION (SELECT 'wt.team.RolePoolMap' FROM (SELECT 'wt.team.Ro<br />lePoolMap' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM RolePoolMap B0)))) A0) UNION (SELECT 'wt.team.RoleActor<br />RoleMap' FROM (SELECT 'wt.team.RoleActorRoleMap' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM RoleActorRoleMap<br />B0)))) A0) UNION (SELECT 'wt.notify.NotificationList' FROM (SELE<br />CT 'wt.notify.NotificationList' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM NotificationList B0)))) A0) UNION<br />(SELECT 'wt.notify.ObjectSubscription' FROM (SELECT 'wt.notify.O<br />bjectSubscription' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM ObjectSubscription B0)))) A0) UNION (SELECT 'wt<br />.calendar.CalendarComponent' FROM (SELECT 'wt.calendar.CalendarC<br />omponent' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM CalendarComponent B0)))) A0) UNION (SELECT 'wt.lifecycle<br />.Criterion' FROM (SELECT 'wt.lifecycle.Criterion' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Criterion B0))))<br /> A0) UNION (SELECT 'wt.lifecycle.LifeCycleHistory' FROM (SELECT<br />'wt.lifecycle.LifeCycleHistory' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM LifeCycleHistory B0)))) A0) UNION<br />(SELECT 'wt.lifecycle.Phase' FROM (SELECT 'wt.lifecycle.Phase' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Pha<br />se B0)))) A0) UNION (SELECT 'wt.lifecycle.LifeCycleSignature' FR<br />OM (SELECT 'wt.lifecycle.LifeCycleSignature' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LifeCycleSignature B0<br />)))) A0) UNION (SELECT 'wt.content.ApplicationData' FROM (SELECT<br /> 'wt.content.ApplicationData' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM ApplicationData B0)))) A0) UNION (SE<br />LECT 'wt.content.Aggregate' FROM (SELECT 'wt.content.Aggregate'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Ag<br />gregate B0)))) A0) UNION (SELECT 'wt.content.URLData' FROM (SELE<br />CT 'wt.content.URLData' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM URLData B0)))) A0) UNION (SELECT 'wt.feder<br />ation.ProxyURLData' FROM (SELECT 'wt.federation.ProxyURLData' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Prox<br />yURLData B0)))) A0) UNION (SELECT 'wt.content.StreamData' FROM (<br />SELECT 'wt.content.StreamData' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM StreamData B0)))) A0) UNION (SELECT<br /> 'wt.intersvrcom.SiteSecurity' FROM (SELECT 'wt.intersvrcom.Site<br />Security' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM SiteSecurity B0)))) A0) UNION (SELECT 'wt.fv.FvPolicyIte<br />m' FROM (SELECT 'wt.fv.FvPolicyItem' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM FvPolicyItem B0)))) A0) UNION<br /> (SELECT 'wt.fv.ReVaultSessionId' FROM (SELECT 'wt.fv.ReVaultSes<br />sionId' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM ReVaultSessionId B0)))) A0) UNION (SELECT 'wt.fv.FvService<br />PersistentFlags' FROM (SELECT 'wt.fv.FvServicePersistentFlags' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FvS<br />ervicePersistentFlags B0)))) A0) UNION (SELECT 'wt.fv.RvStreamId<br />Counter' FROM (SELECT 'wt.fv.RvStreamIdCounter' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM RvStreamIdCounter<br />B0)))) A0) UNION (SELECT 'wt.fv.FvItem' FROM (SELECT 'wt.fv.FvIt<br />em' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M FvItem B0)))) A0) UNION (SELECT 'wt.fv.master.ReplicatedItem'<br />FROM (SELECT 'wt.fv.master.ReplicatedItem' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ReplicatedItem B0)))) A<br />0) UNION (SELECT 'wt.fv.master.MasteredOnReplicaItem' FROM (SELE<br />CT 'wt.fv.master.MasteredOnReplicaItem' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM MasteredOnReplicaItem B0))<br />)) A0) UNION (SELECT 'wt.audit.AuditEvent' FROM (SELECT 'wt.audi<br />t.AuditEvent' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM AuditEvent B0)))) A0) UNION (SELECT 'wt.audit.LastAu<br />ditEvent' FROM (SELECT 'wt.audit.LastAuditEvent' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LastAuditEvent B0<br />)))) A0) UNION (SELECT 'wt.audit.ProjectAuditEvent' FROM (SELECT<br /> 'wt.audit.ProjectAuditEvent' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM ProjectAuditEvent B0)))) A0) UNION (<br />SELECT 'wt.calendar.WTCalendar' FROM (SELECT 'wt.calendar.WTCale<br />ndar' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM WTCalendar B0)))) A0) UNION (SELECT 'wt.intersvrcom.Site' FR<br />OM (SELECT 'wt.intersvrcom.Site' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM Site B0)))) A0) UNION (SELECT 'wt<br />.fv.FvHost' FROM (SELECT 'wt.fv.FvHost' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM FvHost B0)))) A0) UNION (S<br />ELECT 'wt.fv.FvPolicyRule' FROM (SELECT 'wt.fv.FvPolicyRule' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FvPol<br />icyRule B0)))) A0) UNION (SELECT 'wt.fv.FvVault' FROM (SELECT 'w<br />t.fv.FvVault' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM FvVault B0)))) A0) UNION (SELECT 'wt.fv.master.Repli<br />caVault' FROM (SELECT 'wt.fv.master.ReplicaVault' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ReplicaVault B0)<br />))) A0) UNION (SELECT 'wt.fv.FvFolder' FROM (SELECT 'wt.fv.FvFol<br />der' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM FvFolder B0)))) A0) UNION (SELECT 'wt.fv.master.ReplicaFolder<br />' FROM (SELECT 'wt.fv.master.ReplicaFolder' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ReplicaFolder B0)))) A<br />0) UNION (SELECT 'wt.doc.WTDocumentConfigSpec' FROM (SELECT 'wt.<br />doc.WTDocumentConfigSpec' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM WTDocumentConfigSpec B0)))) A0) UNION (S<br />ELECT 'wt.eff.PersistableEffConfigSpec' FROM (SELECT 'wt.eff.Per<br />sistableEffConfigSpec' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM PersistableEffConfigSpec B0)))) A0) UNION (<br />SELECT 'wt.eff.EffConfigSpecGroup' FROM (SELECT 'wt.eff.EffConfi<br />gSpecGroup' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM EffConfigSpecGroup B0)))) A0) UNION (SELECT 'wt.effect<br />ivity.WTProductInstance' FROM (SELECT 'wt.effectivity.WTProductI<br />nstance' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM WTProductInstance B0)))) A0) UNION (SELECT 'wt.part.WTPar<br />tConfigSpec' FROM (SELECT 'wt.part.WTPartConfigSpec' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTPartConfigS<br />pec B0)))) A0) UNION (SELECT 'wt.scheduler.ScheduleItem' FROM (S<br />ELECT 'wt.scheduler.ScheduleItem' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM ScheduleItem B0)))) A0) UNION (S<br />ELECT 'wt.epm.EPMDocConfigSpec' FROM (SELECT 'wt.epm.EPMDocConfi<br />gSpec' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM EPMDocConfigSpec B0)))) A0) UNION (SELECT 'wt.prefs.DBPrefE<br />ntry' FROM (SELECT 'wt.prefs.DBPrefEntry' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DBPrefEntry B0)))) A0) U<br />NION (SELECT 'wt.meeting.MeetingCenterMeeting' FROM (SELECT 'wt.<br />meeting.MeetingCenterMeeting' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM MeetingCenterMeeting B0)))) A0) UNIO<br />N (SELECT 'wt.meeting.TraditionalMeeting' FROM (SELECT 'wt.meeti<br />ng.TraditionalMeeting' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM TraditionalMeeting B0)))) A0) UNION (SELECT<br /> 'wt.csm.businessentity.BusinessEntity' FROM (SELECT 'wt.csm.bus<br />inessentity.BusinessEntity' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM BusinessEntity B0)))) A0) UNION (SELEC<br />T 'wt.csm.navigation.ClassificationNode' FROM (SELECT 'wt.csm.na<br />vigation.ClassificationNode' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM ClassificationNode B0)))) A0) UNION (<br />SELECT 'wt.csm.navigation.IndependentNode' FROM (SELECT 'wt.csm.<br />navigation.IndependentNode' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM IndependentNode B0)))) A0) UNION (SELE<br />CT 'wt.csm.navigation.ClassificationNavStruct' FROM (SELECT 'wt.<br />csm.navigation.ClassificationNavStruct' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM ClassificationNavStruct B0<br />)))) A0) UNION (SELECT 'wt.csm.navigation.IndependentNavStruct'<br />FROM (SELECT 'wt.csm.navigation.IndependentNavStruct' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM IndependentN<br />avStruct B0)))) A0) UNION (SELECT 'wt.csm.navigation.QueryFormEl<br />ement' FROM (SELECT 'wt.csm.navigation.QueryFormElement' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM QueryForm<br />Element B0)))) A0) UNION (SELECT 'wt.csm.navigation.DefaultQuery<br />Form' FROM (SELECT 'wt.csm.navigation.DefaultQueryForm' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DefaultQue<br />ryForm B0)))) A0) UNION (SELECT 'wt.csm.navigation.NodeQueryForm<br />' FROM (SELECT 'wt.csm.navigation.NodeQueryForm' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM NodeQueryForm B0)<br />))) A0) UNION (SELECT 'wt.csm.navigation.DirectQueryTarget' FROM<br /> (SELECT 'wt.csm.navigation.DirectQueryTarget' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DirectQueryTarget B<br />0)))) A0) UNION (SELECT 'wt.csm.navigation.IndirectQueryTarget'<br />FROM (SELECT 'wt.csm.navigation.IndirectQueryTarget' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM IndirectQuery<br />Target B0)))) A0) UNION (SELECT 'wt.csm.navigation.Classificatio<br />nStruct' FROM (SELECT 'wt.csm.navigation.ClassificationStruct' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Cla<br />ssificationStruct B0)))) A0) UNION (SELECT 'wt.csm.ranking.Ranki<br />ngContext' FROM (SELECT 'wt.csm.ranking.RankingContext' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM RankingCon<br />text B0)))) A0) UNION (SELECT 'wt.csm.ranking.RankingData' FROM<br />(SELECT 'wt.csm.ranking.RankingData' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM RankingData B0)))) A0) UNION<br />(SELECT 'wt.iba.definition.TimestampDefinition' FROM (SELECT 'wt<br />.iba.definition.TimestampDefinition' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM TimestampDefinition B0)))) A0<br />) UNION (SELECT 'wt.iba.definition.IntegerDefinition' FROM (SELE<br />CT 'wt.iba.definition.IntegerDefinition' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM IntegerDefinition B0))))<br />A0) UNION (SELECT 'wt.iba.definition.RatioDefinition' FROM (SELE<br />CT 'wt.iba.definition.RatioDefinition' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM RatioDefinition B0)))) A0)<br />UNION (SELECT 'wt.iba.definition.UnitDefinition' FROM (SELECT 'w<br />t.iba.definition.UnitDefinition' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM UnitDefinition B0)))) A0) UNION (<br />SELECT 'wt.iba.definition.URLDefinition' FROM (SELECT 'wt.iba.de<br />finition.URLDefinition' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM URLDefinition B0)))) A0) UNION (SELECT 'wt<br />.iba.definition.ReferenceDefinition' FROM (SELECT 'wt.iba.defini<br />tion.ReferenceDefinition' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM ReferenceDefinition B0)))) A0) UNION (SE<br />LECT 'wt.iba.definition.FloatDefinition' FROM (SELECT 'wt.iba.de<br />finition.FloatDefinition' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM FloatDefinition B0)))) A0) UNION (SELECT<br /> 'wt.iba.definition.StringDefinition' FROM (SELECT 'wt.iba.defin<br />ition.StringDefinition' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM StringDefinition B0)))) A0) UNION (SELECT<br />'wt.iba.definition.BooleanDefinition' FROM (SELECT 'wt.iba.defin<br />ition.BooleanDefinition' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM BooleanDefinition B0)))) A0) UNION (SELEC<br />T 'wt.iba.definition.AttributeOrganizer' FROM (SELECT 'wt.iba.de<br />finition.AttributeOrganizer' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM AttributeOrganizer B0)))) A0) UNION (<br />SELECT 'wt.meeting.actionitem.DiscreteActionItem' FROM (SELECT '<br />wt.meeting.actionitem.DiscreteActionItem' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DiscreteActionItem B0)))<br />) A0) UNION (SELECT 'wt.replication.export.UnitExportRecord' FRO<br />M (SELECT 'wt.replication.export.UnitExportRecord' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM UnitExportRecor<br />d B0)))) A0) UNION (SELECT 'wt.replication.imp.UnitImportRecord'<br /> FROM (SELECT 'wt.replication.imp.UnitImportRecord' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM UnitImportReco<br />rd B0)))) A0) UNION (SELECT 'wt.replication.receiver.UnitReceive<br />Record' FROM (SELECT 'wt.replication.receiver.UnitReceiveRecord'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM U<br />nitReceiveRecord B0)))) A0) UNION (SELECT 'wt.replication.sender<br />.UnitSendRecord' FROM (SELECT 'wt.replication.sender.UnitSendRec<br />ord' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM UnitSendRecord B0)))) A0) UNION (SELECT 'wt.units.display.Mea<br />surementSystem' FROM (SELECT 'wt.units.display.MeasurementSystem<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />MeasurementSystem B0)))) A0) UNION (SELECT 'wt.units.display.Qua<br />ntityOfMeasure' FROM (SELECT 'wt.units.display.QuantityOfMeasure<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />QuantityOfMeasure B0)))) A0) UNION (SELECT 'wt.vc.views.View' FR<br />OM (SELECT 'wt.vc.views.View' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM WTView B0)))) A0) UNION (SELECT 'wt.<br />projmgmt.definer.MilestoneTemplate' FROM (SELECT 'wt.projmgmt.de<br />finer.MilestoneTemplate' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM MilestoneTemplate B0)))) A0) UNION (SELEC<br />T 'wt.projmgmt.definer.ProjectProxyTemplate' FROM (SELECT 'wt.pr<br />ojmgmt.definer.ProjectProxyTemplate' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM ProjectProxyTemplate B0)))) A<br />0) UNION (SELECT 'wt.workflow.definer.WfExternalMethodTemplate'<br />FROM (SELECT 'wt.workflow.definer.WfExternalMethodTemplate' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfExte<br />rnalMethodTemplate B0)))) A0) UNION (SELECT 'wt.workflow.definer<br />.WfInternalMethodTemplate' FROM (SELECT 'wt.workflow.definer.WfI<br />nternalMethodTemplate' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM WfInternalMethodTemplate B0)))) A0) UNION (<br />SELECT 'wt.workflow.definer.WfTimerTemplate' FROM (SELECT 'wt.wo<br />rkflow.definer.WfTimerTemplate' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM WfTimerTemplate B0)))) A0) UNION (<br />SELECT 'wt.workflow.definer.WfApplRobotTemplate' FROM (SELECT 'w<br />t.workflow.definer.WfApplRobotTemplate' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM WfApplRobotTemplate B0))))<br /> A0) UNION (SELECT 'wt.workflow.definer.WfExprRobotTemplate' FRO<br />M (SELECT 'wt.workflow.definer.WfExprRobotTemplate' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfExprRobotTem<br />plate B0)))) A0) UNION (SELECT 'wt.workflow.definer.WfSynchRobot<br />Template' FROM (SELECT 'wt.workflow.definer.WfSynchRobotTemplate<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />WfSynchRobotTemplate B0)))) A0) UNION (SELECT 'wt.workflow.defin<br />er.WfURLRobotTemplate' FROM (SELECT 'wt.workflow.definer.WfURLRo<br />botTemplate' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM WfURLRobotTemplate B0)))) A0) UNION (SELECT 'wt.workf<br />low.definer.WfAssignedActivityTemplate' FROM (SELECT 'wt.workflo<br />w.definer.WfAssignedActivityTemplate' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM WfAssignedActivityTemplate B<br />0)))) A0) UNION (SELECT 'wt.projmgmt.definer.ProjectActivityTemp<br />late' FROM (SELECT 'wt.projmgmt.definer.ProjectActivityTemplate'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM P<br />rojectActivityTemplate B0)))) A0) UNION (SELECT 'wt.workflow.def<br />iner.WfAdHocActivityTemplate' FROM (SELECT 'wt.workflow.definer.<br />WfAdHocActivityTemplate' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM WfAdHocActivityTemplate B0)))) A0) UNION<br />(SELECT 'wt.workflow.definer.WfProxyTemplate' FROM (SELECT 'wt.w<br />orkflow.definer.WfProxyTemplate' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM WfProxyTemplate B0)))) A0) UNION<br />(SELECT 'wt.workflow.definer.WfProcessTemplate' FROM (SELECT 'wt<br />.workflow.definer.WfProcessTemplate' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM WfProcessTemplate B0)))) A0)<br />UNION (SELECT 'wt.workflow.definer.WfBlockTemplate' FROM (SELECT<br /> 'wt.workflow.definer.WfBlockTemplate' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM WfBlockTemplate B0)))) A0)<br />UNION (SELECT 'wt.projmgmt.definer.ProjectPlanTemplate' FROM (SE<br />LECT 'wt.projmgmt.definer.ProjectPlanTemplate' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ProjectPlanTemplate<br /> B0)))) A0) UNION (SELECT 'wt.projmgmt.definer.SummaryActivityTe<br />mplate' FROM (SELECT 'wt.projmgmt.definer.SummaryActivityTemplat<br />e' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> SummaryActivityTemplate B0)))) A0) UNION (SELECT 'wt.projmgmt.e<br />xecution.Milestone' FROM (SELECT 'wt.projmgmt.execution.Mileston<br />e' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> Milestone B0)))) A0) UNION (SELECT 'wt.projmgmt.execution.Proje<br />ctProxy' FROM (SELECT 'wt.projmgmt.execution.ProjectProxy' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Project<br />Proxy B0)))) A0) UNION (SELECT 'wt.workflow.engine.WfRequesterAc<br />tivity' FROM (SELECT 'wt.workflow.engine.WfRequesterActivity' cl<br />assname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfRe<br />questerActivity B0)))) A0) UNION (SELECT 'wt.workflow.work.WfAss<br />ignedActivity' FROM (SELECT 'wt.workflow.work.WfAssignedActivity<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />WfAssignedActivity B0)))) A0) UNION (SELECT 'wt.projmgmt.executi<br />on.ProjectActivity' FROM (SELECT 'wt.projmgmt.execution.ProjectA<br />ctivity' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM ProjectActivity B0)))) A0) UNION (SELECT 'wt.workflow.eng<br />ine.WfAdHocActivity' FROM (SELECT 'wt.workflow.engine.WfAdHocAct<br />ivity' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM WfAdHocActivity B0)))) A0) UNION (SELECT 'wt.workflow.robot<br />s.WfExternalMethod' FROM (SELECT 'wt.workflow.robots.WfExternalM<br />ethod' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM WfExternalMethod B0)))) A0) UNION (SELECT 'wt.workflow.robo<br />ts.WfInternalMethod' FROM (SELECT 'wt.workflow.robots.WfInternal<br />Method' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM WfInternalMethod B0)))) A0) UNION (SELECT 'wt.workflow.rob<br />ots.WfTimerActivity' FROM (SELECT 'wt.workflow.robots.WfTimerAct<br />ivity' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM WfTimerActivity B0)))) A0) UNION (SELECT 'wt.workflow.robot<br />s.WfApplicationRobot' FROM (SELECT 'wt.workflow.robots.WfApplica<br />tionRobot' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM WfApplicationRobot B0)))) A0) UNION (SELECT 'wt.workflo<br />w.robots.WfExpressionRobot' FROM (SELECT 'wt.workflow.robots.WfE<br />xpressionRobot' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM WfExpressionRobot B0)))) A0) UNION (SELECT 'wt.wor<br />kflow.robots.WfSynchRobot' FROM (SELECT 'wt.workflow.robots.WfSy<br />nchRobot' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM WfSynchRobot B0)))) A0) UNION (SELECT 'wt.workflow.robot<br />s.WfURLRobot' FROM (SELECT 'wt.workflow.robots.WfURLRobot' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfURLRo<br />bot B0)))) A0) UNION (SELECT 'wt.workflow.engine.WfProcess' FROM<br /> (SELECT 'wt.workflow.engine.WfProcess' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM WfProcess B0)))) A0) UNION<br /> (SELECT 'wt.projmgmt.execution.ProjectPlan' FROM (SELECT 'wt.pr<br />ojmgmt.execution.ProjectPlan' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM ProjectPlan B0)))) A0) UNION (SELECT<br /> 'wt.workflow.engine.WfBlock' FROM (SELECT 'wt.workflow.engine.W<br />fBlock' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM WfBlock B0)))) A0) UNION (SELECT 'wt.projmgmt.execution.Su<br />mmaryActivity' FROM (SELECT 'wt.projmgmt.execution.SummaryActivi<br />ty' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M SummaryActivity B0)))) A0) UNION (SELECT 'wt.workflow.engine.W<br />fAssignmentEventAudit' FROM (SELECT 'wt.workflow.engine.WfAssign<br />mentEventAudit' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM WfAssignmentEventAudit B0)))) A0) UNION (SELECT 'w<br />t.workflow.engine.WfDataEventAudit' FROM (SELECT 'wt.workflow.en<br />gine.WfDataEventAudit' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM WfDataEventAudit B0)))) A0) UNION (SELECT '<br />wt.workflow.engine.WfStateEventAudit' FROM (SELECT 'wt.workflow.<br />engine.WfStateEventAudit' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM WfStateEventAudit B0)))) A0) UNION (SELE<br />CT 'wt.workflow.engine.WfCreateProcessEventAudit' FROM (SELECT '<br />wt.workflow.engine.WfCreateProcessEventAudit' classname FROM DUA<br />L WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfCreateProcessEvent<br />Audit B0)))) A0) UNION (SELECT 'wt.workflow.engine.WfExceptionEv<br />entAudit' FROM (SELECT 'wt.workflow.engine.WfExceptionEventAudit<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />WfExceptionEventAudit B0)))) A0) UNION (SELECT 'wt.workflow.engi<br />ne.WfVotingEventAudit' FROM (SELECT 'wt.workflow.engine.WfVoting<br />EventAudit' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM WfVotingEventAudit B0)))) A0) UNION (SELECT 'com.ptc.c<br />ore.meta.server.impl.LogicalIdentifierMapEntry' FROM (SELECT 'co<br />m.ptc.core.meta.server.impl.LogicalIdentifierMapEntry' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LogicalIden<br />tifierMapEntry B0)))) A0) UNION (SELECT 'wt.dataops.purge.PurgeR<br />ecord' FROM (SELECT 'wt.dataops.purge.PurgeRecord' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM PurgeRecord B0)<br />))) A0) UNION (SELECT 'wt.dataops.archive.ArchiveRecord' FROM (S<br />ELECT 'wt.dataops.archive.ArchiveRecord' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM ArchiveRecord B0)))) A0)<br />UNION (SELECT 'wt.dataops.archive.RestoreRecord' FROM (SELECT 'w<br />t.dataops.archive.RestoreRecord' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM RestoreRecord B0)))) A0) UNION (S<br />ELECT 'wt.dataops.objectcol.BaseCriterionDef' FROM (SELECT 'wt.d<br />ataops.objectcol.BaseCriterionDef' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionDef B0)))) A0) UNI<br />ON (SELECT 'wt.dataops.objectcol.MethodDef' FROM (SELECT 'wt.dat<br />aops.objectcol.MethodDef' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM BaseCriterionDef B0)))) A0) UNION (SELEC<br />T 'wt.dataops.objectcol.FilterCriterionDef' FROM (SELECT 'wt.dat<br />aops.objectcol.FilterCriterionDef' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionDef B0)))) A0) UNI<br />ON (SELECT 'wt.dataops.objectcol.CollectionCriterionDef' FROM (S<br />ELECT 'wt.dataops.objectcol.CollectionCriterionDef' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionD<br />ef B0)))) A0) UNION (SELECT 'wt.dataops.objectcol.AttrCriterionD<br />ef' FROM (SELECT 'wt.dataops.objectcol.AttrCriterionDef' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM BaseCrite<br />rionDef B0)))) A0) UNION (SELECT 'wt.dataops.objectcol.ObjTypeCr<br />iterionDef' FROM (SELECT 'wt.dataops.objectcol.ObjTypeCriterionD<br />ef' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M BaseCriterionDef B0)))) A0) UNION (SELECT 'wt.dataops.objectco<br />l.RelationshipDef' FROM (SELECT 'wt.dataops.objectcol.Relationsh<br />ipDef' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM BaseCriterionDef B0)))) A0) UNION (SELECT 'wt.dataops.objec<br />tcol.RelationshipMapDef' FROM (SELECT 'wt.dataops.objectcol.Rela<br />tionshipMapDef' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM BaseCriterionDef B0)))) A0) UNION (SELECT 'wt.data<br />ops.objectcol.CollectionCriteria' FROM (SELECT 'wt.dataops.objec<br />tcol.CollectionCriteria' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM CollectionCriteria B0)))) A0) UNION (SELE<br />CT 'wt.dataops.objectcol.RelationshipMap' FROM (SELECT 'wt.datao<br />ps.objectcol.RelationshipMap' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM RelationshipMap B0)))) A0) UNION (SE<br />LECT 'wt.dataops.archive.Archive' FROM (SELECT 'wt.dataops.archi<br />ve.Archive' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM Archive B0)))) A0) UNION (SELECT 'com.ptc.windchill.co<br />unterpart.CounterPartDelta' FROM (SELECT 'com.ptc.windchill.coun<br />terpart.CounterPartDelta' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM CounterPartDelta B0)))) A0) UNION (SELEC<br />T 'com.ptc.windchill.counterpart.CounterPartAttachment' FROM (SE<br />LECT 'com.ptc.windchill.counterpart.CounterPartAttachment' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Counter<br />PartAttachment B0)))) A0) UNION (SELECT 'com.ptc.windchill.count<br />erpart.CounterPartContent' FROM (SELECT 'com.ptc.windchill.count<br />erpart.CounterPartContent' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM CounterPartContent B0)))) A0) UNION (SE<br />LECT 'com.ptc.windchill.ixb.importer.ImportJob' FROM (SELECT 'co<br />m.ptc.windchill.ixb.importer.ImportJob' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM ImportJob B0)))) A0) UNION<br /> (SELECT 'com.lcs.wc.report.ColumnList' FROM (SELECT 'com.lcs.wc<br />.report.ColumnList' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM ColumnList B0)))) A0) UNION (SELECT 'com.lcs.w<br />c.report.FiltersList' FROM (SELECT 'com.lcs.wc.report.FiltersLis<br />t' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> FiltersList B0)))) A0) UNION (SELECT 'com.lcs.wc.report.Collect<br />ionDefault' FROM (SELECT 'com.lcs.wc.report.CollectionDefault' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Col<br />lectionDefault B0)))) A0) UNION (SELECT 'com.lcs.wc.report.Repor<br />tAuthenticationTicket' FROM (SELECT 'com.lcs.wc.report.ReportAut<br />henticationTicket' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM ReportAuthenticationTicket B0)))) A0) UNION (SE<br />LECT 'wt.rn.WTRNRequest' FROM (SELECT 'wt.rn.WTRNRequest' classn<br />ame FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTRNRequ<br />est B0)))) A0) UNION (SELECT 'wt.query.template.ReportTemplate'<br />FROM (SELECT 'wt.query.template.ReportTemplate' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ReportTemplate B0)<br />))) A0) UNION (SELECT 'wt.effectivity.ConfigurationItem' FROM (S<br />ELECT 'wt.effectivity.ConfigurationItem' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM ConfigurationItem B0))))<br />A0) UNION (SELECT 'wt.change2.WTChangeIssue' FROM (SELECT 'wt.ch<br />ange2.WTChangeIssue' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM WTChangeIssue B0)))) A0) UNION (SELECT 'wt.ch<br />ange2.WTChangeRequest2' FROM (SELECT 'wt.change2.WTChangeRequest<br />2' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> WTChangeRequest2 B0)))) A0) UNION (SELECT 'wt.change2.WTChangeO<br />rder2' FROM (SELECT 'wt.change2.WTChangeOrder2' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTChangeOrder2 B0)<br />))) A0) UNION (SELECT 'wt.vc.baseline.ManagedBaseline' FROM (SEL<br />ECT 'wt.vc.baseline.ManagedBaseline' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM ManagedBaseline B0)))) A0) UN<br />ION (SELECT 'wt.maturity.PromotionNotice' FROM (SELECT 'wt.matur<br />ity.PromotionNotice' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM PromotionNotice B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.foundation.LCSManaged' FROM (SELECT 'com.lcs.wc.foundati<br />on.LCSManaged' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM LCSManaged B0)))) A0) UNION (SELECT 'com.lcs.wc.col<br />or.LCSColor' FROM (SELECT 'com.lcs.wc.color.LCSColor' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSColor B0)<br />))) A0) UNION (SELECT 'com.lcs.wc.color.LCSPalette' FROM (SELECT<br /> 'com.lcs.wc.color.LCSPalette' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM LCSPalette B0)))) A0) UNION (SELECT<br /> 'com.lcs.wc.foundation.EffectivityContext' FROM (SELECT 'com.lc<br />s.wc.foundation.EffectivityContext' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM EffectivityContext B0)))) A0)<br />UNION (SELECT 'com.lcs.wc.foundation.LCSLifecycleManaged' FROM (<br />SELECT 'com.lcs.wc.foundation.LCSLifecycleManaged' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSLifecycleMan<br />aged B0)))) A0) UNION (SELECT 'com.lcs.wc.document.LCSDocumentCo<br />llection' FROM (SELECT 'com.lcs.wc.document.LCSDocumentCollectio<br />n' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> LCSDocumentCollection B0)))) A0) UNION (SELECT 'com.lcs.wc.mate<br />rial.LCSMaterialColor' FROM (SELECT 'com.lcs.wc.material.LCSMate<br />rialColor' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM LCSMaterialColor B0)))) A0) UNION (SELECT 'com.lcs.wc.m<br />aterial.LCSMaterialStrikeOff' FROM (SELECT 'com.lcs.wc.material.<br />LCSMaterialStrikeOff' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM LCSMaterialStrikeOff B0)))) A0) UNION (SELEC<br />T 'com.lcs.wc.sample.LCSSample' FROM (SELECT 'com.lcs.wc.sample.<br />LCSSample' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM LCSSample B0)))) A0) UNION (SELECT 'com.lcs.wc.sample.L<br />CSSampleRequest' FROM (SELECT 'com.lcs.wc.sample.LCSSampleReques<br />t' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> LCSSampleRequest B0)))) A0) UNION (SELECT 'com.lcs.wc.season.LC<br />SDelivery' FROM (SELECT 'com.lcs.wc.season.LCSDelivery' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSDeliver<br />y B0)))) A0) UNION (SELECT 'com.lcs.wc.season.LCSMaterialGroup'<br />FROM (SELECT 'com.lcs.wc.season.LCSMaterialGroup' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMaterialGroup<br /> B0)))) A0) UNION (SELECT 'wt.doc.WTDocument' FROM (SELECT 'wt.d<br />oc.WTDocument' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM WTDocument B0)))) A0) UNION (SELECT 'wt.federation.<br />ProxyDocument' FROM (SELECT 'wt.federation.ProxyDocument' classn<br />ame FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ProxyDoc<br />ument B0)))) A0) UNION (SELECT 'com.lcs.wc.document.LCSDocument'<br /> FROM (SELECT 'com.lcs.wc.document.LCSDocument' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSDocument B0))))<br /> A0) UNION (SELECT 'com.lcs.wc.document.LCSImage' FROM (SELECT '<br />com.lcs.wc.document.LCSImage' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM LCSImage B0)))) A0) UNION (SELECT 'w<br />t.part.WTPart' FROM (SELECT 'wt.part.WTPart' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTPart B0)))) A0) UNI<br />ON (SELECT 'wt.part.WTProduct' FROM (SELECT 'wt.part.WTProduct'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WT<br />Product B0)))) A0) UNION (SELECT 'wt.part.WTSerialNumberedPart'<br />FROM (SELECT 'wt.part.WTSerialNumberedPart' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTSerialNumberedPart B<br />0)))) A0) UNION (SELECT 'com.lcs.wc.part.LCSPart' FROM (SELECT '<br />com.lcs.wc.part.LCSPart' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM LCSPart B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.flexbom.FlexBOMPart' FROM (SELECT 'com.lcs.wc.flexbom.FlexBO<br />MPart' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM FlexBOMPart B0)))) A0) UNION (SELECT 'com.lcs.wc.material.L<br />CSMaterial' FROM (SELECT 'com.lcs.wc.material.LCSMaterial' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMate<br />rial B0)))) A0) UNION (SELECT 'com.lcs.wc.product.LCSProduct' FR<br />OM (SELECT 'com.lcs.wc.product.LCSProduct' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSProduct B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.product.LCSSKU' FROM (SELECT 'com.lcs.w<br />c.product.LCSSKU' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM LCSSKU B0)))) A0) UNION (SELECT 'com.lcs.wc.seas<br />on.LCSSeason' FROM (SELECT 'com.lcs.wc.season.LCSSeason' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSeason<br /> B0)))) A0) UNION (SELECT 'com.lcs.wc.specification.FlexSpecific<br />ation' FROM (SELECT 'com.lcs.wc.specification.FlexSpecification'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM F<br />lexSpecification B0)))) A0) UNION (SELECT 'wt.epm.EPMDocument' F<br />ROM (SELECT 'wt.epm.EPMDocument' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM EPMDocument B0)))) A0) UNION (SEL<br />ECT 'wt.replication.unit.WTUnit' FROM (SELECT 'wt.replication.un<br />it.WTUnit' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM WTUnit B0)))) A0) UNION (SELECT 'com.lcs.wc.foundation.<br />LCSRevisionControlled' FROM (SELECT 'com.lcs.wc.foundation.LCSRe<br />visionControlled' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM LCSRevisionControlled B0)))) A0) UNION (SELECT '<br />com.lcs.wc.agent.LCSAgent' FROM (SELECT 'com.lcs.wc.agent.LCSAge<br />nt' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FRO<br />M LCSAgent B0)))) A0) UNION (SELECT 'com.lcs.wc.construction.LCS<br />ConstructionInfo' FROM (SELECT 'com.lcs.wc.construction.LCSConst<br />ructionInfo' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM LCSConstructionInfo B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.country.LCSCountry' FROM (SELECT 'com.lcs.wc.country.LCSCoun<br />try' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM LCSCountry B0)))) A0) UNION (SELECT 'com.lcs.wc.factory.LCSFa<br />ctory' FROM (SELECT 'com.lcs.wc.factory.LCSFactory' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSFactory B0)<br />))) A0) UNION (SELECT 'com.lcs.wc.foundation.LCSRevisableEntity'<br /> FROM (SELECT 'com.lcs.wc.foundation.LCSRevisableEntity' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSRevisa<br />bleEntity B0)))) A0) UNION (SELECT 'com.lcs.wc.last.LCSLast' FRO<br />M (SELECT 'com.lcs.wc.last.LCSLast' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM LCSLast B0)))) A0) UNION (SELE<br />CT 'com.lcs.wc.material.LCSMaterialSupplier' FROM (SELECT 'com.l<br />cs.wc.material.LCSMaterialSupplier' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM LCSMaterialSupplier B0)))) A0)<br /> UNION (SELECT 'com.lcs.wc.measurements.LCSMeasurements' FROM (S<br />ELECT 'com.lcs.wc.measurements.LCSMeasurements' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMeasurements B0<br />)))) A0) UNION (SELECT 'com.lcs.wc.media.LCSMedia' FROM (SELECT<br />'com.lcs.wc.media.LCSMedia' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM LCSMedia B0)))) A0) UNION (SELECT 'com<br />.lcs.wc.season.SeasonGroup' FROM (SELECT 'com.lcs.wc.season.Seas<br />onGroup' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM SeasonGroup B0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing<br />.LCSCostSheet' FROM (SELECT 'com.lcs.wc.sourcing.LCSCostSheet' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCS<br />CostSheet B0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing.LCSSourc<br />eToSeasonLink' FROM (SELECT 'com.lcs.wc.sourcing.LCSSourceToSeas<br />onLink' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM LCSSourceToSeasonLink B0)))) A0) UNION (SELECT 'com.lcs.wc<br />.sourcing.LCSSourcingConfig' FROM (SELECT 'com.lcs.wc.sourcing.L<br />CSSourcingConfig' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM LCSSourcingConfig B0)))) A0) UNION (SELECT 'com.<br />lcs.wc.supplier.LCSSupplier' FROM (SELECT 'com.lcs.wc.supplier.L<br />CSSupplier' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM LCSSupplier B0)))) A0) UNION (SELECT 'com.lcs.wc.testi<br />ng.TestSpecification' FROM (SELECT 'com.lcs.wc.testing.TestSpeci<br />fication' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM TestSpecification B0)))) A0) UNION (SELECT 'wt.inf.templ<br />ate.WTContainerTemplateMaster' FROM (SELECT 'wt.inf.template.WTC<br />ontainerTemplateMaster' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM WTContainerTemplateMaster B0)))) A0) UNION<br /> (SELECT 'wt.lifecycle.LifeCycleTemplateMaster' FROM (SELECT 'wt<br />.lifecycle.LifeCycleTemplateMaster' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM LifeCycleTemplateMaster B0))))<br /> A0) UNION (SELECT 'wt.doc.WTDocumentMaster' FROM (SELECT 'wt.do<br />c.WTDocumentMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM WTDocumentMaster B0)))) A0) UNION (SELECT 'wt.<br />federation.ProxyDocumentMaster' FROM (SELECT 'wt.federation.Prox<br />yDocumentMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM ProxyDocumentMaster B0)))) A0) UNION (SELECT 'wt.<br />part.WTPartMaster' FROM (SELECT 'wt.part.WTPartMaster' classname<br /> FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTPartMaste<br />r B0)))) A0) UNION (SELECT 'wt.federation.ProxyPartMaster' FROM<br />(SELECT 'wt.federation.ProxyPartMaster' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM ProxyPartMaster B0)))) A0)<br /> UNION (SELECT 'wt.part.WTProductMaster' FROM (SELECT 'wt.part.W<br />TProductMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM WTProductMaster B0)))) A0) UNION (SELECT 'wt.part.<br />WTSerialNumberedPartMaster' FROM (SELECT 'wt.part.WTSerialNumber<br />edPartMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM WTSerialNumberedPartMaster B0)))) A0) UNION (SELECT<br />'wt.epm.EPMDocumentMaster' FROM (SELECT 'wt.epm.EPMDocumentMaste<br />r' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> EPMDocumentMaster B0)))) A0) UNION (SELECT 'wt.replication.unit<br />.WTUnitMaster' FROM (SELECT 'wt.replication.unit.WTUnitMaster' c<br />lassname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTU<br />nitMaster B0)))) A0) UNION (SELECT 'wt.workflow.definer.WfProces<br />sTemplateMaster' FROM (SELECT 'wt.workflow.definer.WfProcessTemp<br />lateMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM WfProcessTemplateMaster B0)))) A0) UNION (SELECT 'wt.d<br />ataops.objectcol.BaseCriterionDefMaster' FROM (SELECT 'wt.dataop<br />s.objectcol.BaseCriterionDefMaster' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionDefMaster B0))))<br />A0) UNION (SELECT 'wt.dataops.objectcol.MethodDefMaster' FROM (S<br />ELECT 'wt.dataops.objectcol.MethodDefMaster' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionDefMaste<br />r B0)))) A0) UNION (SELECT 'wt.dataops.objectcol.FilterCriterion<br />DefMaster' FROM (SELECT 'wt.dataops.objectcol.FilterCriterionDef<br />Master' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM BaseCriterionDefMaster B0)))) A0) UNION (SELECT 'wt.dataop<br />s.objectcol.CollectionCriterionDefMaster' FROM (SELECT 'wt.datao<br />ps.objectcol.CollectionCriterionDefMaster' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionDefMaster<br />B0)))) A0) UNION (SELECT 'wt.dataops.objectcol.AttrCriterionDefM<br />aster' FROM (SELECT 'wt.dataops.objectcol.AttrCriterionDefMaster<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />BaseCriterionDefMaster B0)))) A0) UNION (SELECT 'wt.dataops.obje<br />ctcol.ObjTypeCriterionDefMaster' FROM (SELECT 'wt.dataops.object<br />col.ObjTypeCriterionDefMaster' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM BaseCriterionDefMaster B0)))) A0) U<br />NION (SELECT 'wt.dataops.objectcol.RelationshipDefMaster' FROM (<br />SELECT 'wt.dataops.objectcol.RelationshipDefMaster' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM BaseCriterionD<br />efMaster B0)))) A0) UNION (SELECT 'wt.dataops.objectcol.Relation<br />shipMapDefMaster' FROM (SELECT 'wt.dataops.objectcol.Relationshi<br />pMapDefMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM BaseCriterionDefMaster B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.agent.LCSAgentMaster' FROM (SELECT 'com.lcs.wc.agent.LC<br />SAgentMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM LCSAgentMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.<br />construction.LCSConstructionInfoMaster' FROM (SELECT 'com.lcs.wc<br />.construction.LCSConstructionInfoMaster' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSConstructionInfoMaster<br /> B0)))) A0) UNION (SELECT 'com.lcs.wc.country.LCSCountryMaster'<br />FROM (SELECT 'com.lcs.wc.country.LCSCountryMaster' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSCountryMaste<br />r B0)))) A0) UNION (SELECT 'com.lcs.wc.factory.LCSFactoryMaster'<br /> FROM (SELECT 'com.lcs.wc.factory.LCSFactoryMaster' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSFactoryMast<br />er B0)))) A0) UNION (SELECT 'com.lcs.wc.foundation.LCSRevisableE<br />ntityMaster' FROM (SELECT 'com.lcs.wc.foundation.LCSRevisableEnt<br />ityMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM LCSRevisableEntityMaster B0)))) A0) UNION (SELECT 'com.<br />lcs.wc.last.LCSLastMaster' FROM (SELECT 'com.lcs.wc.last.LCSLast<br />Master' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM LCSLastMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.materia<br />l.LCSMaterialSupplierMaster' FROM (SELECT 'com.lcs.wc.material.L<br />CSMaterialSupplierMaster' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM LCSMaterialSupplierMaster B0)))) A0) UNI<br />ON (SELECT 'com.lcs.wc.measurements.LCSMeasurementsMaster' FROM<br />(SELECT 'com.lcs.wc.measurements.LCSMeasurementsMaster' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMeasure<br />mentsMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.media.LCSMediaM<br />aster' FROM (SELECT 'com.lcs.wc.media.LCSMediaMaster' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMediaMast<br />er B0)))) A0) UNION (SELECT 'com.lcs.wc.season.SeasonGroupMaster<br />' FROM (SELECT 'com.lcs.wc.season.SeasonGroupMaster' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM SeasonGroupMa<br />ster B0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing.LCSCostSheetM<br />aster' FROM (SELECT 'com.lcs.wc.sourcing.LCSCostSheetMaster' cla<br />ssname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSCo<br />stSheetMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.sourcing.LCSS<br />ourceToSeasonLinkMaster' FROM (SELECT 'com.lcs.wc.sourcing.LCSSo<br />urceToSeasonLinkMaster' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM LCSSourceToSeasonLinkMaster B0)))) A0) UNI<br />ON (SELECT 'com.lcs.wc.sourcing.LCSSourcingConfigMaster' FROM (S<br />ELECT 'com.lcs.wc.sourcing.LCSSourcingConfigMaster' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSSourcingCon<br />figMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.supplier.LCSSuppl<br />ierMaster' FROM (SELECT 'com.lcs.wc.supplier.LCSSupplierMaster'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LC<br />SSupplierMaster B0)))) A0) UNION (SELECT 'com.lcs.wc.testing.Tes<br />tSpecificationMaster' FROM (SELECT 'com.lcs.wc.testing.TestSpeci<br />ficationMaster' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B<br />0.idA2A2 FROM TestSpecificationMaster B0)))) A0) UNION (SELECT '<br />wt.lifecycle.LifeCycleTemplate' FROM (SELECT 'wt.lifecycle.LifeC<br />ycleTemplate' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM LifeCycleTemplate B0)))) A0) UNION (SELECT 'com.ptc.<br />core.meta.type.mgmt.server.impl.WTTypeDefinition' FROM (SELECT '<br />com.ptc.core.meta.type.mgmt.server.impl.WTTypeDefinition' classn<br />ame FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTTypeDe<br />finition B0)))) A0) UNION (SELECT 'wt.change2.WTChangeActivity2'<br /> FROM (SELECT 'wt.change2.WTChangeActivity2' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTChangeActivity2 B0)<br />))) A0) UNION (SELECT 'com.lcs.wc.change.LCSChangeActivity' FROM<br /> (SELECT 'com.lcs.wc.change.LCSChangeActivity' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSChangeActivity B<br />0)))) A0) UNION (SELECT 'wt.change2.WTAnalysisActivity' FROM (SE<br />LECT 'wt.change2.WTAnalysisActivity' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM WTAnalysisActivity B0)))) A0)<br /> UNION (SELECT 'wt.change2.WTChangeInvestigation' FROM (SELECT '<br />wt.change2.WTChangeInvestigation' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM WTChangeInvestigation B0)))) A0)<br /> UNION (SELECT 'wt.change2.WTChangeProposal' FROM (SELECT 'wt.ch<br />ange2.WTChangeProposal' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM WTChangeProposal B0)))) A0) UNION (SELECT<br />'wt.annotation.AnnotationSet' FROM (SELECT 'wt.annotation.Annota<br />tionSet' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM AnnotationSet B0)))) A0) UNION (SELECT 'wt.annotation.Str<br />ucturedAnnotationSet' FROM (SELECT 'wt.annotation.StructuredAnno<br />tationSet' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM StructuredAnnotationSet B0)))) A0) UNION (SELECT 'wt.ef<br />fectivity.WTDatedEffectivity' FROM (SELECT 'wt.effectivity.WTDat<br />edEffectivity' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM WTDatedEffectivity B0)))) A0) UNION (SELECT 'wt.eff<br />ectivity.WTLotEffectivity' FROM (SELECT 'wt.effectivity.WTLotEff<br />ectivity' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM WTLotEffectivity B0)))) A0) UNION (SELECT 'wt.effectivit<br />y.WTSerialNumberedEffectivity' FROM (SELECT 'wt.effectivity.WTSe<br />rialNumberedEffectivity' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM WTSerialNumberedEffectivity B0)))) A0) UN<br />ION (SELECT 'wt.effectivity.WTIncorporationDate' FROM (SELECT 'w<br />t.effectivity.WTIncorporationDate' classname FROM DUAL WHERE (NO<br />T (EXISTS (SELECT B0.idA2A2 FROM WTIncorporationDate B0)))) A0)<br />UNION (SELECT 'wt.part.WTProductConfigurationMaster' FROM (SELEC<br />T 'wt.part.WTProductConfigurationMaster' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTProductConfigMaster B0)<br />))) A0) UNION (SELECT 'wt.part.WTProductConfiguration' FROM (SEL<br />ECT 'wt.part.WTProductConfiguration' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM WTProductConfiguration B0))))<br /> A0) UNION (SELECT 'wt.part.WTProductInstanceMaster' FROM (SELEC<br />T 'wt.part.WTProductInstanceMaster' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM WTProductInstanceMaster B0))))<br /> A0) UNION (SELECT 'wt.part.WTProductInstance2' FROM (SELECT 'wt<br />.part.WTProductInstance2' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM WTProductInstance2 B0)))) A0) UNION (SEL<br />ECT 'wt.pdmlink.PDMLinkProduct' FROM (SELECT 'wt.pdmlink.PDMLink<br />Product' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM PDMLinkProduct B0)))) A0) UNION (SELECT 'wt.scheduler.Sch<br />eduleHistory' FROM (SELECT 'wt.scheduler.ScheduleHistory' classn<br />ame FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Schedule<br />History B0)))) A0) UNION (SELECT 'wt.scheduler.CountedHistory' F<br />ROM (SELECT 'wt.scheduler.CountedHistory' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM CountedHistory B0)))) A0<br />) UNION (SELECT 'wt.fv.RevaultingSession' FROM (SELECT 'wt.fv.Re<br />vaultingSession' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM RevaultingSession B0)))) A0) UNION (SELECT 'wt.fv<br />.RevaultUrlSession' FROM (SELECT 'wt.fv.RevaultUrlSession' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Revault<br />UrlSession B0)))) A0) UNION (SELECT 'wt.fv.master.ContReplHistor<br />y' FROM (SELECT 'wt.fv.master.ContReplHistory' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ContReplHistory B0)<br />))) A0) UNION (SELECT 'wt.scheduler.PersistantArg' FROM (SELECT<br />'wt.scheduler.PersistantArg' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM PersistantArg B0)))) A0) UNION (SELEC<br />T 'wt.scheduler.PrimitiveArg' FROM (SELECT 'wt.scheduler.Primiti<br />veArg' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM PrimitiveArg B0)))) A0) UNION (SELECT 'wt.router.ToDoItem'<br />FROM (SELECT 'wt.router.ToDoItem' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM ToDoItem B0)))) A0) UNION (SELEC<br />T 'wt.meeting.TextMinutes' FROM (SELECT 'wt.meeting.TextMinutes'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM T<br />extMinutes B0)))) A0) UNION (SELECT 'wt.meeting.TemplatedMinutes<br />' FROM (SELECT 'wt.meeting.TemplatedMinutes' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM TemplatedMinutes B0))<br />)) A0) UNION (SELECT 'wt.meeting.TextAgenda' FROM (SELECT 'wt.me<br />eting.TextAgenda' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM TextAgenda B0)))) A0) UNION (SELECT 'wt.meeting.<br />TemplatedAgenda' FROM (SELECT 'wt.meeting.TemplatedAgenda' class<br />name FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Templat<br />edAgenda B0)))) A0) UNION (SELECT 'wt.annotation.AnnotationBasel<br />ine' FROM (SELECT 'wt.annotation.AnnotationBaseline' classname F<br />ROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM AnnotationBas<br />eline B0)))) A0) UNION (SELECT 'wt.recent.RecentUpdate' FROM (SE<br />LECT 'wt.recent.RecentUpdate' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM RecentUpdate B0)))) A0) UNION (SELEC<br />T 'wt.epm.attributes.EPMParameterMap' FROM (SELECT 'wt.epm.attri<br />butes.EPMParameterMap' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM EPMParameterMap B0)))) A0) UNION (SELECT 'w<br />t.epm.familytable.EPMFeatureValue' FROM (SELECT 'wt.epm.familyta<br />ble.EPMFeatureValue' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM EPMFeatureValue B0)))) A0) UNION (SELECT 'wt.<br />epm.familytable.EPMParameterValue' FROM (SELECT 'wt.epm.familyta<br />ble.EPMParameterValue' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM EPMParameterValue B0)))) A0) UNION (SELECT<br />'wt.epm.workspaces.EPMCheckpoint' FROM (SELECT 'wt.epm.workspace<br />s.EPMCheckpoint' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM EPMCheckpoint B0)))) A0) UNION (SELECT 'wt.epm.wo<br />rkspaces.EPMWorkspace' FROM (SELECT 'wt.epm.workspaces.EPMWorksp<br />ace' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM EPMWorkspace B0)))) A0) UNION (SELECT 'wt.csm.constraint.CSMS<br />ingleDefConstraint' FROM (SELECT 'wt.csm.constraint.CSMSingleDef<br />Constraint' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM CSMSingleDefConstraint B0)))) A0) UNION (SELECT 'wt.cs<br />m.constraint.CSMContainerConstraint' FROM (SELECT 'wt.csm.constr<br />aint.CSMContainerConstraint' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM CSMContainerConstraint B0)))) A0) UNI<br />ON (SELECT 'wt.ixb.conflictFramework.ImportSession' FROM (SELECT<br /> 'wt.ixb.conflictFramework.ImportSession' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ImportSession B0)))) A0)<br /> UNION (SELECT 'wt.ixb.conflictFramework.ElementImportInfo' FROM<br /> (SELECT 'wt.ixb.conflictFramework.ElementImportInfo' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ElementImpor<br />tInfo B0)))) A0) UNION (SELECT 'wt.ixb.conflictFramework.Environ<br />mentConflict' FROM (SELECT 'wt.ixb.conflictFramework.Environment<br />Conflict' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2<br />A2 FROM EnvironmentConflict B0)))) A0) UNION (SELECT 'wt.org.ele<br />ctronicIdentity.ElectronicSignature' FROM (SELECT 'wt.org.electr<br />onicIdentity.ElectronicSignature' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM ElectronicSignature B0)))) A0) U<br />NION (SELECT 'wt.projmgmt.admin.Project2' FROM (SELECT 'wt.projm<br />gmt.admin.Project2' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM Project2 B0)))) A0) UNION (SELECT 'wt.replicat<br />ion.unit.ReplicationBaseline' FROM (SELECT 'wt.replication.unit.<br />ReplicationBaseline' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM ReplicationBaseline B0)))) A0) UNION (SELECT<br />'wt.replication.sender.RemoteSiteTeamTemplate' FROM (SELECT 'wt.<br />replication.sender.RemoteSiteTeamTemplate' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM RemoteSiteTeamTemplate<br />B0)))) A0) UNION (SELECT 'wt.workflow.definer.WfConnectorTemplat<br />e' FROM (SELECT 'wt.workflow.definer.WfConnectorTemplate' classn<br />ame FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfConnec<br />torTemplate B0)))) A0) UNION (SELECT 'wt.workflow.definer.WfExpr<br />ession' FROM (SELECT 'wt.workflow.definer.WfExpression' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfExpressi<br />on B0)))) A0) UNION (SELECT 'wt.workflow.engine.WfProcessRequest<br />er' FROM (SELECT 'wt.workflow.engine.WfProcessRequester' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfProcess<br />Requester B0)))) A0) UNION (SELECT 'wt.workflow.engine.WfConnect<br />or' FROM (SELECT 'wt.workflow.engine.WfConnector' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfConnector B0))<br />)) A0) UNION (SELECT 'wt.workflow.forum.DiscussionTopic' FROM (S<br />ELECT 'wt.workflow.forum.DiscussionTopic' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DiscussionTopic B0)))) A<br />0) UNION (SELECT 'wt.workflow.forum.DiscussionPosting' FROM (SEL<br />ECT 'wt.workflow.forum.DiscussionPosting' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM DiscussionPosting B0))))<br /> A0) UNION (SELECT 'wt.workflow.forum.DiscussionForum' FROM (SEL<br />ECT 'wt.workflow.forum.DiscussionForum' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM DiscussionForum B0)))) A0)<br /> UNION (SELECT 'wt.workflow.forum.ForumCookie' FROM (SELECT 'wt.<br />workflow.forum.ForumCookie' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM ForumCookie B0)))) A0) UNION (SELECT '<br />wt.workflow.notebook.Notebook' FROM (SELECT 'wt.workflow.noteboo<br />k.Notebook' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM Notebook B0)))) A0) UNION (SELECT 'wt.workflow.noteboo<br />k.NotebookFolder' FROM (SELECT 'wt.workflow.notebook.NotebookFol<br />der' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM NotebookFolder B0)))) A0) UNION (SELECT 'wt.workflow.notebook<br />.Bookmark' FROM (SELECT 'wt.workflow.notebook.Bookmark' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Bookmark B<br />0)))) A0) UNION (SELECT 'wt.workflow.notebook.WfBookmark' FROM (<br />SELECT 'wt.workflow.notebook.WfBookmark' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfBookmark B0)))) A0) UNI<br />ON (SELECT 'wt.workflow.notebook.ImportedBookmark' FROM (SELECT<br />'wt.workflow.notebook.ImportedBookmark' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM ImportedBookmark B0)))) A0<br />) UNION (SELECT 'wt.workflow.notebook.FolderedBookmark' FROM (SE<br />LECT 'wt.workflow.notebook.FolderedBookmark' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FolderedBookmark B0))<br />)) A0) UNION (SELECT 'wt.workflow.notebook.WfFolderedBookmark' F<br />ROM (SELECT 'wt.workflow.notebook.WfFolderedBookmark' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfFolderedBo<br />okmark B0)))) A0) UNION (SELECT 'wt.workflow.work.WfAssignment'<br />FROM (SELECT 'wt.workflow.work.WfAssignment' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WfAssignment B0)))) A<br />0) UNION (SELECT 'wt.projmgmt.execution.ProjectAssignment' FROM<br />(SELECT 'wt.projmgmt.execution.ProjectAssignment' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ProjectAssignmen<br />t B0)))) A0) UNION (SELECT 'wt.workflow.work.WorkItem' FROM (SEL<br />ECT 'wt.workflow.work.WorkItem' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM WorkItem B0)))) A0) UNION (SELECT<br />'wt.projmgmt.execution.ProjectWorkItem' FROM (SELECT 'wt.projmgm<br />t.execution.ProjectWorkItem' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM ProjectWorkItem B0)))) A0) UNION (SEL<br />ECT 'wt.workflow.work.WfBallot' FROM (SELECT 'wt.workflow.work.W<br />fBallot' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM WfBallot B0)))) A0) UNION (SELECT 'wt.wrmf.delivery.Persi<br />stentTrackingNumGen' FROM (SELECT 'wt.wrmf.delivery.PersistentTr<br />ackingNumGen' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM PersistentTrackingNumGen B0)))) A0) UNION (SELECT 'w<br />t.wrmf.delivery.Receipt' FROM (SELECT 'wt.wrmf.delivery.Receipt'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM R<br />eceipt B0)))) A0) UNION (SELECT 'wt.wrmf.delivery.AlertItem' FRO<br />M (SELECT 'wt.wrmf.delivery.AlertItem' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM AlertItem B0)))) A0) UNION<br />(SELECT 'wt.wrmf.delivery.ConfirmableShippingItem' FROM (SELECT<br />'wt.wrmf.delivery.ConfirmableShippingItem' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ConfirmableShippingItem<br /> B0)))) A0) UNION (SELECT 'wt.wrmf.delivery.ActionShippingItem'<br />FROM (SELECT 'wt.wrmf.delivery.ActionShippingItem' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ActionShippingI<br />tem B0)))) A0) UNION (SELECT 'wt.wrmf.delivery.PayloadShippingIt<br />em' FROM (SELECT 'wt.wrmf.delivery.PayloadShippingItem' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM PayloadShi<br />ppingItem B0)))) A0) UNION (SELECT 'wt.wrmf.delivery.ActionPullI<br />tem' FROM (SELECT 'wt.wrmf.delivery.ActionPullItem' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ActionPullItem<br /> B0)))) A0) UNION (SELECT 'wt.wrmf.delivery.BiActionPullItem' FR<br />OM (SELECT 'wt.wrmf.delivery.BiActionPullItem' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM BiActionPullItem B0<br />)))) A0) UNION (SELECT 'wt.wrmf.delivery.TransparentInbox' FROM<br />(SELECT 'wt.wrmf.delivery.TransparentInbox' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM TransparentInbox B0)))<br />) A0) UNION (SELECT 'wt.wrmf.delivery.PersistentInbox' FROM (SEL<br />ECT 'wt.wrmf.delivery.PersistentInbox' classname FROM DUAL WHERE<br /> (NOT (EXISTS (SELECT B0.idA2A2 FROM PersistentInbox B0)))) A0)<br />UNION (SELECT 'wt.wrmf.delivery.TransparentOutbox' FROM (SELECT<br />'wt.wrmf.delivery.TransparentOutbox' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM TransparentOutbox B0)))) A0)<br />UNION (SELECT 'wt.wrmf.delivery.PerDestinationOutbox' FROM (SELE<br />CT 'wt.wrmf.delivery.PerDestinationOutbox' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM PerDestinationOutbox B0<br />)))) A0) UNION (SELECT 'wt.wrmf.logs.EventLog' FROM (SELECT 'wt.<br />wrmf.logs.EventLog' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM EventLog B0)))) A0) UNION (SELECT 'com.ptc.cor<br />e.meta.type.mgmt.server.impl.TypeSingleAttrConstraint' FROM (SEL<br />ECT 'com.ptc.core.meta.type.mgmt.server.impl.TypeSingleAttrConst<br />raint' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br />FROM TypeSingleAttrConstraint B0)))) A0) UNION (SELECT 'com.ptc.<br />core.meta.type.mgmt.server.impl.TypeContainerConstraint' FROM (S<br />ELECT 'com.ptc.core.meta.type.mgmt.server.impl.TypeContainerCons<br />traint' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM TypeContainerConstraint B0)))) A0) UNION (SELECT 'com.ptc.<br />windchill.esi.txn.ReleaseActivityMessage' FROM (SELECT 'com.ptc.<br />windchill.esi.txn.ReleaseActivityMessage' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ReleaseActivityMessage B<br />0)))) A0) UNION (SELECT 'com.ptc.windchill.esi.txn.ESITransactio<br />nMessage' FROM (SELECT 'com.ptc.windchill.esi.txn.ESITransaction<br />Message' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM ESITransactionMessage B0)))) A0) UNION (SELECT 'wt.dataop<br />s.objectcol.CriterionObject' FROM (SELECT 'wt.dataops.objectcol.<br />CriterionObject' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM CriterionObject B0)))) A0) UNION (SELECT 'com.ptc<br />.windchill.pdmlink.proimigration.server.PartCreationStatus' FROM<br /> (SELECT 'com.ptc.windchill.pdmlink.proimigration.server.PartCre<br />ationStatus' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM PartCreationStatus B0)))) A0) UNION (SELECT 'com.lcs.<br />wc.flextype.AttributeGroup' FROM (SELECT 'com.lcs.wc.flextype.At<br />tributeGroup' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM AttributeGroup B0)))) A0) UNION (SELECT 'com.lcs.wc.<br />flextype.AttributeValueList' FROM (SELECT 'com.lcs.wc.flextype.A<br />ttributeValueList' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM AttributeValueList B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.flextype.AttributeValueStore' FROM (SELECT 'com.lcs.wc.<br />flextype.AttributeValueStore' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM AttributeValueStore B0)))) A0) UNION<br /> (SELECT 'com.lcs.wc.flextype.AttributeValueTree' FROM (SELECT '<br />com.lcs.wc.flextype.AttributeValueTree' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM AttributeValueTree B0))))<br />A0) UNION (SELECT 'com.lcs.wc.flextype.FlexType' FROM (SELECT 'c<br />om.lcs.wc.flextype.FlexType' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM FlexType B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.flextype.FlexTypeAttribute' FROM (SELECT 'com.lcs.wc.fl<br />extype.FlexTypeAttribute' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM FlexTypeAttribute B0)))) A0) UNION (SELE<br />CT 'com.lcs.wc.flextype.ForiegnKeyDefinition' FROM (SELECT 'com.<br />lcs.wc.flextype.ForiegnKeyDefinition' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM ForiegnKeyDefinition B0))))<br />A0) UNION (SELECT 'com.lcs.wc.foundation.FavoriteObject' FROM (S<br />ELECT 'com.lcs.wc.foundation.FavoriteObject' classname FROM DUAL<br /> WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FavoriteObject B0))))<br /> A0) UNION (SELECT 'com.lcs.wc.foundation.LCSObject' FROM (SELEC<br />T 'com.lcs.wc.foundation.LCSObject' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM LCSObject B0)))) A0) UNION (SE<br />LECT 'com.lcs.wc.calendar.LCSCalendar' FROM (SELECT 'com.lcs.wc.<br />calendar.LCSCalendar' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM LCSCalendar B0)))) A0) UNION (SELECT 'com.lc<br />s.wc.calendar.LCSCalendarTask' FROM (SELECT 'com.lcs.wc.calendar<br />.LCSCalendarTask' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM LCSCalendarTask B0)))) A0) UNION (SELECT 'com.lc<br />s.wc.construction.LCSConstructionDetail' FROM (SELECT 'com.lcs.w<br />c.construction.LCSConstructionDetail' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM LCSConstructionDetail B0))))<br /> A0) UNION (SELECT 'com.lcs.wc.flexbom.FlexBOMLink' FROM (SELECT<br /> 'com.lcs.wc.flexbom.FlexBOMLink' classname FROM DUAL WHERE (NOT<br /> (EXISTS (SELECT B0.idA2A2 FROM FlexBOMLink B0)))) A0) UNION (SE<br />LECT 'com.lcs.wc.foundation.LCSLogEntry' FROM (SELECT 'com.lcs.w<br />c.foundation.LCSLogEntry' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM LCSLogEntry B0)))) A0) UNION (SELECT 'co<br />m.lcs.wc.foundation.LCSLookup' FROM (SELECT 'com.lcs.wc.foundati<br />on.LCSLookup' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.<br />idA2A2 FROM LCSLookup B0)))) A0) UNION (SELECT 'com.lcs.wc.mater<br />ial.LCSMaterialStrikeOffLayer' FROM (SELECT 'com.lcs.wc.material<br />.LCSMaterialStrikeOffLayer' classname FROM DUAL WHERE (NOT (EXIS<br />TS (SELECT B0.idA2A2 FROM LCSMaterialStrikeOffLayer B0)))) A0) U<br />NION (SELECT 'com.lcs.wc.material.MaterialPricingEntry' FROM (SE<br />LECT 'com.lcs.wc.material.MaterialPricingEntry' classname FROM D<br />UAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM MaterialPricingEnt<br />ry B0)))) A0) UNION (SELECT 'com.lcs.wc.measurements.LCSPointsOf<br />Measure' FROM (SELECT 'com.lcs.wc.measurements.LCSPointsOfMeasur<br />e' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> LCSPointsOfMeasure B0)))) A0) UNION (SELECT 'com.lcs.wc.moa.LCS<br />MOAObject' FROM (SELECT 'com.lcs.wc.moa.LCSMOAObject' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSMOAObject<br /> B0)))) A0) UNION (SELECT 'com.lcs.wc.product.LCSProductPiece' F<br />ROM (SELECT 'com.lcs.wc.product.LCSProductPiece' classname FROM<br />DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM LCSProductPiece B<br />0)))) A0) UNION (SELECT 'com.lcs.wc.specification.FlexSpecDestin<br />ation' FROM (SELECT 'com.lcs.wc.specification.FlexSpecDestinatio<br />n' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br /> FlexSpecDestination B0)))) A0) UNION (SELECT 'com.lcs.wc.produc<br />t.ProductDestination' FROM (SELECT 'com.lcs.wc.product.ProductDe<br />stination' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM ProductDestination B0)))) A0) UNION (SELECT 'com.lcs.wc<br />.testing.TestCondition' FROM (SELECT 'com.lcs.wc.testing.TestCon<br />dition' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2<br /> FROM TestCondition B0)))) A0) UNION (SELECT 'com.lcs.wc.testing<br />.TestDetails' FROM (SELECT 'com.lcs.wc.testing.TestDetails' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM TestDe<br />tails B0)))) A0) UNION (SELECT 'com.lcs.wc.testing.TestMethod' F<br />ROM (SELECT 'com.lcs.wc.testing.TestMethod' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM TestMethod B0)))) A0)<br />UNION (SELECT 'com.lcs.wc.testing.TestProperty' FROM (SELECT 'co<br />m.lcs.wc.testing.TestProperty' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM TestProperty B0)))) A0) UNION (SELE<br />CT 'com.lcs.wc.testing.TestStandard' FROM (SELECT 'com.lcs.wc.te<br />sting.TestStandard' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM TestStandard B0)))) A0) UNION (SELECT 'com.lcs<br />.wc.measurements.ActualSizeRange' FROM (SELECT 'com.lcs.wc.measu<br />rements.ActualSizeRange' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM ActualSizeRange B0)))) A0) UNION (SELECT<br />'com.lcs.wc.measurements.FullSizeRange' FROM (SELECT 'com.lcs.wc<br />.measurements.FullSizeRange' classname FROM DUAL WHERE (NOT (EXI<br />STS (SELECT B0.idA2A2 FROM FullSizeRange B0)))) A0) UNION (SELEC<br />T 'com.lcs.wc.measurements.LCSFitTest' FROM (SELECT 'com.lcs.wc.<br />measurements.LCSFitTest' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM LCSFitTest B0)))) A0) UNION (SELECT 'com.<br />lcs.wc.measurements.ProductSizeCategory' FROM (SELECT 'com.lcs.w<br />c.measurements.ProductSizeCategory' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM ProductSizeCategory B0)))) A0)<br /> UNION (SELECT 'com.lcs.wc.measurements.SizeCategory' FROM (SELE<br />CT 'com.lcs.wc.measurements.SizeCategory' classname FROM DUAL WH<br />ERE (NOT (EXISTS (SELECT B0.idA2A2 FROM SizeCategory B0)))) A0)<br />UNION (SELECT 'com.lcs.wc.moa.LCSMOALock' FROM (SELECT 'com.lcs.<br />wc.moa.LCSMOALock' classname FROM DUAL WHERE (NOT (EXISTS (SELEC<br />T B0.idA2A2 FROM LCSMOALock B0)))) A0) UNION (SELECT 'com.lcs.wc<br />.season.LCSSeasonalChangeLog' FROM (SELECT 'com.lcs.wc.season.LC<br />SSeasonalChangeLog' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM LCSSeasonalChangeLog B0)))) A0) UNION (SELECT<br />'com.lcs.wc.specification.FlexSpecToComponentLink' FROM (SELECT<br />'com.lcs.wc.specification.FlexSpecToComponentLink' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM FlexSpecToCompo<br />nentLink B0)))) A0) UNION (SELECT 'wt.viewmarkup.DerivedImage' F<br />ROM (SELECT 'wt.viewmarkup.DerivedImage' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM DerivedImage B0)))) A0) U<br />NION (SELECT 'wt.epm.familytable.EPMSepFamilyTable' FROM (SELECT<br /> 'wt.epm.familytable.EPMSepFamilyTable' classname FROM DUAL WHER<br />E (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMSepFamilyTable B0)))) A<br />0) UNION (SELECT 'wt.dataops.archive.ArchivedIterationInfo' FROM<br /> (SELECT 'wt.dataops.archive.ArchivedIterationInfo' classname FR<br />OM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM ArchivedIterat<br />ionInfo B0)))) A0) UNION (SELECT 'wt.vc.ControlBranch' FROM (SEL<br />ECT 'wt.vc.ControlBranch' classname FROM DUAL WHERE (NOT (EXISTS<br /> (SELECT B0.idA2A2 FROM ControlBranch B0)))) A0) UNION (SELECT '<br />wt.viewmarkup.WVSConfigurationTemplate' FROM (SELECT 'wt.viewmar<br />kup.WVSConfigurationTemplate' classname FROM DUAL WHERE (NOT (EX<br />ISTS (SELECT B0.idA2A2 FROM WVSConfigurationTemplate B0)))) A0)<br />UNION (SELECT 'wt.viewmarkup.PublishingSummary' FROM (SELECT 'wt<br />.viewmarkup.PublishingSummary' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM PublishingSummary B0)))) A0) UNION<br />(SELECT 'wt.sandbox.SandboxBaseline' FROM (SELECT 'wt.sandbox.Sa<br />ndboxBaseline' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM SandboxBaseline B0)))) A0) UNION (SELECT 'wt.maturi<br />ty.MaturityBaseline' FROM (SELECT 'wt.maturity.MaturityBaseline'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM M<br />aturityBaseline B0)))) A0) UNION (SELECT 'wt.access.AccessContro<br />lSurrogate' FROM (SELECT 'wt.access.AccessControlSurrogate' clas<br />sname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Access<br />ControlSurrogate B0)))) A0) UNION (SELECT 'wt.access.WTAclEntry'<br /> FROM (SELECT 'wt.access.WTAclEntry' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM WTAclEntry B0)))) A0) UNION (<br />SELECT 'wt.epm.workspaces.EPMAsStoredConfig' FROM (SELECT 'wt.ep<br />m.workspaces.EPMAsStoredConfig' classname FROM DUAL WHERE (NOT (<br />EXISTS (SELECT B0.idA2A2 FROM EPMAsStoredConfig B0)))) A0) UNION<br /> (SELECT 'wt.index.BulkIndexListEntry' FROM (SELECT 'wt.index.Bu<br />lkIndexListEntry' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM BulkIndexListEntry B0)))) A0) UNION (SELECT 'wt.<br />meeting.MeetingDeliverable' FROM (SELECT 'wt.meeting.MeetingDeli<br />verable' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM MeetingDeliverable B0)))) A0) UNION (SELECT 'wt.series.Se<br />riesTemplate' FROM (SELECT 'wt.series.SeriesTemplate' classname<br />FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM SeriesTempla<br />te B0)))) A0) UNION (SELECT 'wt.configuration.BaselineConfigurat<br />ionOverride' FROM (SELECT 'wt.configuration.BaselineConfiguratio<br />nOverride' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA<br />2A2 FROM BaselineConfigOverride B0)))) A0) UNION (SELECT 'wt.con<br />figuration.SerialNumberMapping' FROM (SELECT 'wt.configuration.S<br />erialNumberMapping' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM SerialNumberMapping B0)))) A0) UNION (SELECT '<br />wt.occurrence.PathOccurrenceDocumentation' FROM (SELECT 'wt.occu<br />rrence.PathOccurrenceDocumentation' classname FROM DUAL WHERE (N<br />OT (EXISTS (SELECT B0.idA2A2 FROM PathOccurrenceDocumentation B0<br />)))) A0) UNION (SELECT 'wt.occurrence.PathOccurrenceUserIBAs' FR<br />OM (SELECT 'wt.occurrence.PathOccurrenceUserIBAs' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM PathOccurrenceUs<br />erIBAs B0)))) A0) UNION (SELECT 'wt.occurrence.CombinedPathOccur<br />renceDocumentation' FROM (SELECT 'wt.occurrence.CombinedPathOccu<br />rrenceDocumentation' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM CombOccurrenceDocumentation B0)))) A0) UNION<br />(SELECT 'wt.occurrence.CombinedPathOccurrenceUserIBAs' FROM (SEL<br />ECT 'wt.occurrence.CombinedPathOccurrenceUserIBAs' classname FRO<br />M DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM CombOccurrenceU<br />serIBAs B0)))) A0) UNION (SELECT 'wt.occurrence.PathOccurrenceDa<br />taMaster' FROM (SELECT 'wt.occurrence.PathOccurrenceDataMaster'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Pa<br />thOccurrenceDataMaster B0)))) A0) UNION (SELECT 'wt.occurrence.C<br />ombinedPathOccurrenceDataMaster' FROM (SELECT 'wt.occurrence.Com<br />binedPathOccurrenceDataMaster' classname FROM DUAL WHERE (NOT (E<br />XISTS (SELECT B0.idA2A2 FROM CombOccurrenceDataMaster B0)))) A0)<br /> UNION (SELECT 'wt.epm.workspaces.EPMCheckpointMaster' FROM (SEL<br />ECT 'wt.epm.workspaces.EPMCheckpointMaster' classname FROM DUAL<br />WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMCheckpointMaster B0<br />)))) A0) UNION (SELECT 'com.ptc.core.meta.type.mgmt.server.impl.<br />WTTypeDefinitionMaster' FROM (SELECT 'com.ptc.core.meta.type.mgm<br />t.server.impl.WTTypeDefinitionMaster' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM WTTypeDefinitionMaster B0)))<br />) A0) UNION (SELECT 'wt.part.WTSerialNumberedPartInstance' FROM<br />(SELECT 'wt.part.WTSerialNumberedPartInstance' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM WTSNPartInstance B0<br />)))) A0) UNION (SELECT 'wt.federation.LightweightProxy' FROM (SE<br />LECT 'wt.federation.LightweightProxy' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM LightweightProxy B0)))) A0)<br />UNION (SELECT 'wt.fv.StreamIdentity' FROM (SELECT 'wt.fv.StreamI<br />dentity' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM StreamIdentity B0)))) A0) UNION (SELECT 'wt.epm.familytab<br />le.EPMSepFamilyTableMaster' FROM (SELECT 'wt.epm.familytable.EPM<br />SepFamilyTableMaster' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM EPMSepFamilyTableMaster B0)))) A0) UNION (SE<br />LECT 'wt.part.PartUsesOccurrence' FROM (SELECT 'wt.part.PartUses<br />Occurrence' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM PartUsesOccurrence B0)))) A0) UNION (SELECT 'wt.part.P<br />roductDateEffectivity' FROM (SELECT 'wt.part.ProductDateEffectiv<br />ity' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FR<br />OM ProductDateEffectivity B0)))) A0) UNION (SELECT 'wt.part.Prod<br />uctSerialNumberEffectivity' FROM (SELECT 'wt.part.ProductSerialN<br />umberEffectivity' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br /> B0.idA2A2 FROM ProductSNEffectivity B0)))) A0) UNION (SELECT 'w<br />t.part.ProductLotNumberEffectivity' FROM (SELECT 'wt.part.Produc<br />tLotNumberEffectivity' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM ProductLNEffectivity B0)))) A0) UNION (SELE<br />CT 'wt.eff.EffChangeAudit' FROM (SELECT 'wt.eff.EffChangeAudit'<br />classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Ef<br />fChangeAudit B0)))) A0) UNION (SELECT 'wt.part.PublishedLineNumb<br />er' FROM (SELECT 'wt.part.PublishedLineNumber' classname FROM DU<br />AL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM PublishedLineNumber<br /> B0)))) A0) UNION (SELECT 'wt.epm.EPMCADNamespace' FROM (SELECT<br />'wt.epm.EPMCADNamespace' classname FROM DUAL WHERE (NOT (EXISTS<br />(SELECT B0.idA2A2 FROM EPMCADNamespace B0)))) A0) UNION (SELECT<br />'wt.epm.EPMAuthoringAppVersion' FROM (SELECT 'wt.epm.EPMAuthorin<br />gAppVersion' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.i<br />dA2A2 FROM EPMAuthoringAppVersion B0)))) A0) UNION (SELECT 'wt.u<br />fid.Repository' FROM (SELECT 'wt.ufid.Repository' classname FROM<br /> DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM Repository B0)))<br />) A0) UNION (SELECT 'wt.ufid.RemoteObjectInfo' FROM (SELECT 'wt.<br />ufid.RemoteObjectInfo' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM RemoteObjectInfo B0)))) A0) UNION (SELECT '<br />wt.viewmarkup.PublishingProhibition' FROM (SELECT 'wt.viewmarkup<br />.PublishingProhibition' classname FROM DUAL WHERE (NOT (EXISTS (<br />SELECT B0.idA2A2 FROM PublishingProhibition B0)))) A0) UNION (SE<br />LECT 'wt.part.PartPathOccurrence' FROM (SELECT 'wt.part.PartPath<br />Occurrence' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.id<br />A2A2 FROM PartPathOccurrence B0)))) A0) UNION (SELECT 'wt.occurr<br />ence.UsesOccurrenceDocumentation' FROM (SELECT 'wt.occurrence.Us<br />esOccurrenceDocumentation' classname FROM DUAL WHERE (NOT (EXIST<br />S (SELECT B0.idA2A2 FROM UsesOccurrenceDocumentation B0)))) A0)<br />UNION (SELECT 'wt.occurrence.UsesOccurrenceUserIBAs' FROM (SELEC<br />T 'wt.occurrence.UsesOccurrenceUserIBAs' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM UsesOccurrenceUserIBAs B0<br />)))) A0) UNION (SELECT 'wt.epm.structure.occurrences.EPMUsesOccu<br />rrence' FROM (SELECT 'wt.epm.structure.occurrences.EPMUsesOccurr<br />ence' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM EPMUsesOccurrence B0)))) A0) UNION (SELECT 'wt.epm.familytab<br />le.EPMFamilyTableAttribute' FROM (SELECT 'wt.epm.familytable.EPM<br />FamilyTableAttribute' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM EPMFamilyTableAttribute B0)))) A0) UNION (SE<br />LECT 'wt.epm.familytable.EPMFamilyTableMember' FROM (SELECT 'wt.<br />epm.familytable.EPMFamilyTableMember' classname FROM DUAL WHERE<br />(NOT (EXISTS (SELECT B0.idA2A2 FROM EPMFamilyTableMember B0))))<br />A0) UNION (SELECT 'wt.epm.familytable.EPMFamilyTableReference' F<br />ROM (SELECT 'wt.epm.familytable.EPMFamilyTableReference' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMFamily<br />TableReference B0)))) A0) UNION (SELECT 'wt.epm.familytable.EPMF<br />amilyTableParameter' FROM (SELECT 'wt.epm.familytable.EPMFamilyT<br />ableParameter' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0<br />.idA2A2 FROM EPMFamilyTableParameter B0)))) A0) UNION (SELECT 'w<br />t.epm.familytable.EPMFamilyTableFeature' FROM (SELECT 'wt.epm.fa<br />milytable.EPMFamilyTableFeature' classname FROM DUAL WHERE (NOT<br />(EXISTS (SELECT B0.idA2A2 FROM EPMFamilyTableFeature B0)))) A0)<br />UNION (SELECT 'wt.epm.familytable.EPMFamilyTableCell' FROM (SELE<br />CT 'wt.epm.familytable.EPMFamilyTableCell' classname FROM DUAL W<br />HERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMFamilyTableCell B0))<br />)) A0) UNION (SELECT 'wt.epm.familytable.EPMFamilyTableCellDepen<br />dency' FROM (SELECT 'wt.epm.familytable.EPMFamilyTableCellDepend<br />ency' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM EPMFamilyTableCellDep B0)))) A0) UNION (SELECT 'wt.epm.famil<br />ytable.EPMFeatureDefinition' FROM (SELECT 'wt.epm.familytable.EP<br />MFeatureDefinition' classname FROM DUAL WHERE (NOT (EXISTS (SELE<br />CT B0.idA2A2 FROM EPMFeatureDefinition B0)))) A0) UNION (SELECT<br />'wt.epm.familytable.EPMParameterDefinition' FROM (SELECT 'wt.epm<br />.familytable.EPMParameterDefinition' classname FROM DUAL WHERE (<br />NOT (EXISTS (SELECT B0.idA2A2 FROM EPMParameterDefinition B0))))<br /> A0) UNION (SELECT 'wt.epm.occurrence.EPMOccurrenceTable' FROM (<br />SELECT 'wt.epm.occurrence.EPMOccurrenceTable' classname FROM DUA<br />L WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMOccurrenceTable B<br />0)))) A0) UNION (SELECT 'wt.epm.supportingdata.EPMSupportingData<br />' FROM (SELECT 'wt.epm.supportingdata.EPMSupportingData' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMSuppor<br />tingData B0)))) A0) UNION (SELECT 'wt.epm.workspaces.EPMUpdateCo<br />unter' FROM (SELECT 'wt.epm.workspaces.EPMUpdateCounter' classna<br />me FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM EPMUpdate<br />Counter B0)))) A0) UNION (SELECT 'wt.epm.workspaces.EPMInitialCh<br />eckinData' FROM (SELECT 'wt.epm.workspaces.EPMInitialCheckinData<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />EPMInitialCheckinData B0)))) A0) UNION (SELECT 'wt.epm.workspace<br />s.ClientCacheState' FROM (SELECT 'wt.epm.workspaces.ClientCacheS<br />tate' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM ClientCacheState B0)))) A0) UNION (SELECT 'wt.fv.uploadtocac<br />he.UploadStatus' FROM (SELECT 'wt.fv.uploadtocache.UploadStatus'<br /> classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM U<br />ploadStatus B0)))) A0) UNION (SELECT 'wt.fv.uploadtocache.Upload<br />edContentData' FROM (SELECT 'wt.fv.uploadtocache.UploadedContent<br />Data' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 F<br />ROM UploadedContentData B0)))) A0) UNION (SELECT 'wt.ixb.mapping<br />.UfidMapping' FROM (SELECT 'wt.ixb.mapping.UfidMapping' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM UfidMappin<br />g B0)))) A0) UNION (SELECT 'com.ptc.windchill.cadx.common.htmllo<br />g.HTMLLogMessage' FROM (SELECT 'com.ptc.windchill.cadx.common.ht<br />mllog.HTMLLogMessage' classname FROM DUAL WHERE (NOT (EXISTS (SE<br />LECT B0.idA2A2 FROM HTMLLogMessage B0)))) A0) UNION (SELECT 'com<br />.ptc.windchill.cadx.common.htmllog.HTMLLog' FROM (SELECT 'com.pt<br />c.windchill.cadx.common.htmllog.HTMLLog' classname FROM DUAL WHE<br />RE (NOT (EXISTS (SELECT B0.idA2A2 FROM HTMLLog B0)))) A0) UNION<br />(SELECT 'com.ptc.core.task.TaskEvent' FROM (SELECT 'com.ptc.core<br />.task.TaskEvent' classname FROM DUAL WHERE (NOT (EXISTS (SELECT<br />B0.idA2A2 FROM TaskEvent B0)))) A0) UNION (SELECT 'com.ptc.core.<br />task.TaskEventMessage' FROM (SELECT 'com.ptc.core.task.TaskEvent<br />Message' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A<br />2 FROM TaskEventMessage B0)))) A0) UNION (SELECT 'com.ptc.core.t<br />ask.TaskEventData' FROM (SELECT 'com.ptc.core.task.TaskEventData<br />' classname FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM<br />TaskEventData B0)))) A0) UNION (SELECT 'wt.dataops.objectcol.Inp<br />utValue' FROM (SELECT 'wt.dataops.objectcol.InputValue' classnam<br />e FROM DUAL WHERE (NOT (EXISTS (SELECT B0.idA2A2 FROM InputValue<br /> B0)))) A0) UNION (SELECT 'wt.index.IndexStatus' FROM (SELECT 'w<br />t.index.IndexStatus' classname FROM DUAL WHERE (NOT (EXISTS (SEL<br />ECT B0.idA2A2 FROM IndexStatus B0)))) A0) UNION (SELECT 'com.ptc<br />.netmarkets.roleAccess.UIAccess' FROM (SELECT 'com.ptc.netmarket<br />s.roleAccess.UIAccess' classname FROM DUAL WHERE (NOT (EXISTS (S<br />ELECT B0.idA2A2 FROM UIAccess B0)))) A0) <br /></pre><br /><br />now , can anyone guess what the developer had in mind while he/she was framing this.Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com3tag:blogger.com,1999:blog-574785910411055456.post-84789177328240210382008-03-30T11:31:00.001-07:002008-03-30T11:37:54.221-07:00Fun with Bind variablesRecently one of my fellow-colleagues was there at a client site where I had visited more than a year ago.<br /><br />during my period of stay, I had pointed the developers about their lack of bind variables usage and why the plans suddenly change over night for no reason and it stays there in shared pool ..I remember having the same discussion with DBAs too and the DBA folks believed "<span style="font-weight:bold;">alter system flush shared pool</span>" is probably statement discovered to fix any SQL running longtime<br /><br />Interestingly when I was casually talking with my colleague he mentioned that he noted that bind variable peeking had been turned off (note: underscore parameter, thanks to whichever DBA there). I was like "Hmm..someone wanted to have a short-cut way to solve everything without fixing the code"..<br /><br />and interestingly over the next coupla days we discovered more issues..all sqls are going unoptimized because of bind variable being turned off..Initially when I was told it didnt strike me to relate..but then a quick test and peek into 10053 reveals it so clear..<br /><br />without bind variable peeking, CBO had no clue about incoming values and so it didnt consider histograms - which is to an extent okay..but the bigger issue was it wont even look into partition statistics (think about it in a 24*7 system where u have so much data flowing in every single day and you have all partitions nicely build to partition the data at various physical segments)..CBO looks at table statistics and decides on plan (no partition pruning or elimination) - the plan is guaranteed to be wrong ..& to get it right you would have ensure global statistics should be perfect reflection of actual data.<br /><br />you fix a small problem with a short-cut way..opened up another can of worms.. after all, most performance problems are man-made (well developers & dba made)<br /><br />I mean ..I have to be thankful to all these folks who work so hard on keeping consultants like me in business..otherwise my living would be in a soup<br /><br />so thanks folks..mess up more all you can.. sometimes it gets really interesting to see how far can you go that lane.:)Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-69091715186002393572008-03-30T11:17:00.001-07:002008-03-30T11:17:20.282-07:00consider..but never codeI came across this interesting piece of code while I was actually looking for searching for something else.<br /><pre><br />Create or replace procedure <<procedurename>>...<br />begin<br /> merge into...<br /> using...<br /> <br /> -- more merge statements ..followed by all condition checks<br /><br />EXCEPTION<br /> WHEN NO_DATA_FOUND THEN<br /> NULL;<br /><span style="font-weight:bold;"> WHEN OTHERS THEN<br /> -- CONSIDER LOGGING THE ERROR AND THEN RE-RAISE<br /> -- RAISE;<br /> NULL;</span><br />END <<name>>; <br /><br /></pre><br /><br />:)Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com1tag:blogger.com,1999:blog-574785910411055456.post-41444198782127595092008-03-10T22:24:00.001-07:002008-03-10T22:41:20.561-07:00SQL tuning ...2008 = busy, very busy!<br /><br />haven't had chance to blog much off late, thanks to the admirable maintenance window at my client place (starts at 12 midnight & goes till 2 or 3 am)<br /><br />anyways I had bookmarked something interested (abt SQL tuning & Coding) I bumped into youtube longwhile ago and completely forgot abt it. Recently I see the same being referred & forwarded in oracle-list & got reminded.<br /><br />here they are..enjoy!! (technology helps!! instead of typing pages..its so easy to just embed a video)<br /><br />Part-1:<br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/40Lnoyv-sXg&rel=1&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/40Lnoyv-sXg&rel=1&border=0" type="application/x-shockwave-flash" wmode="transparent"width="425" height="355"></embed></object><br /><br /><br />Part-2:<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/GbZgnAINjUw&rel=1&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/GbZgnAINjUw&rel=1&border=0" type="application/x-shockwave-flash" wmode="transparent"width="425" height="355"></embed></object><br /><br /><br />Part-3:<br /><br /><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/y70FmugnhPU&rel=1&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/y70FmugnhPU&rel=1&border=0" type="application/x-shockwave-flash" wmode="transparent"width="425" height="355"></embed></object>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-7567778661716808372008-01-05T13:24:00.000-08:002008-01-05T13:32:57.306-08:00..and if you didnt believe DBAs are NOSY<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/CHzV4LZnvHc&rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/CHzV4LZnvHc&rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object><br /><br />I have been a fan of Morgen's articles. But their latest myth-buster on "oracle installation is tedious and complex" is delightfully funny to watch. <br /><br />True oracle-ities are real "nosy" creatures, indeed. :)Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-37302581280109438842008-01-04T14:53:00.000-08:002008-01-04T15:06:05.699-08:00Can you solve this?I did the worst thing to myself just before the start of holidays..thats by reading some sql question somewhere on the list and jumping in to solve it. (that was complex enough that it was actually reserved to be asked to the Oracle guru Tom Kyte)<br /><br />Obviously over the holidays I didnt get too much time..but with whatever little I could work, I havent been able to accomplish much. <br /><br />Just posting the question for those like-minded souls who get a kick out of solving everything in SQL.<br /><br /><br /><pre><br /><br />SQL> col id format 99<br />SQL> col customer_id format 99 heading CID<br />SQL> col service_name format a12 trunc<br />SQL> col start_date format a12<br />SQL> col end_date format a12<br /><br />SQL> desc sql_test<br /> Name Null? Type<br /> ----------------------------------------- -------- --------------<br /> ID NOT NULL NUMBER(38)<br /> CUSTOMER_ID NUMBER(10)<br /> SERVICE_NAME VARCHAR2(100)<br /> START_DATE DATE<br /> END_DATE DATE<br /><br />SQL> select * from sql_test ;<br /><br /> ID CID SERVICE_NAME START_DATE END_DATE<br />--- --- ------------ ------------ ------------<br /> 1 1 Service-S2 01-AUG-07 05-AUG-07<br /> 2 1 Service-S1 02-AUG-07 01-NOV-07<br /> 3 1 Service-S3 07-AUG-07 30-AUG-07<br /> 4 1 Service-S4 07-AUG-07 30-NOV-07<br /> 5 1 Service-S5 02-DEC-07 20-DEC-07<br /></pre><br /><br /><br />assume thats a table with customer info..what we need to output is the period during which customer had continued service..(doesnt matter what the service is..but as long as its continous..we need to consider it one row)<br /><br />so the output should be something like this<br /><pre><br />CID START_DATE END_DATE<br />--- ------------ ------------<br /> 1 01-AUG-07 30-NOV-07 <br /> 1 02-DEC-07 20-DEC-07<br /><br /></pre><br /><br />PS: extend your solution to work for many other customers too (the sample is only for one customer_id (identified as 1)<br /><br />Even though I havent solved this yet (well I did, but only to find if I change the data..it fails :) )<br /><br />(the only good thing so far is..I never worked with MODEL clause before..now I have extensively researched that to solve this..thats a <span style="font-weight:bold;">hint hint</span>)Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-53562117393683508402007-12-27T14:24:00.000-08:002007-12-27T14:39:01.813-08:00"I am a Senior DBA..but I am NEW"<span style="font-family:courier new;">I don't know if this is real or meant as joke..but had a good laugh when I read that in Oracle forums.</span><br /><br /><span style="font-family:courier new;">Here is </span><a href="http://forums.oracle.com/forums/thread.jspa?messageID=2235859&#2235859">the thread URL</a></span><br /><br /><span style="font-family:courier new;">and here is the scoop</span><br /><br /><span style="font-family:courier new;">"</span><br /><span style="font-family:courier new;"> Hi everyone,</span><br /><br /><span style="font-style: italic;font-family:courier new;" > Can any one advise me? <span style="font-weight: bold;">I have joined a company as new senior dba</span>.</span><br /><br /><span style="font-family:courier new;"> i am not understanding what shall be done at beginning?</span><br /><br /><span style="font-family:courier new;"> Can anybody advice me how to check all the database and what to do in the beginning ?</span><br /><br /><span style="font-weight: bold; font-style: italic;font-family:courier new;" >I have been reading all the stuff,documents fr. a week?</span><br /><br /><span style="font-family:courier new;">"</span><br /><br /><span style="font-family:courier new;">:) I am looked at my business card and it says I am a "Senior oracle DBA" too. Something I should rethink about :)..<br /><br />Happy Holidays!!<br /></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com191tag:blogger.com,1999:blog-574785910411055456.post-17830271685417390832007-12-26T10:53:00.000-08:002007-12-26T11:16:05.984-08:00lobs vs strings<span style="font-family:courier new;">Recently one of the emails I read at a client site (wherein the lead had recommended his team to use dbms_lob.substr in the sqls) probed me do this research and as always learning new stuff in oracle is never ending. :)</span><br /><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><br /> <tbody><tr><br /> <td valign="top" width="1%"> </td><br /><br /> <td bg="" style="color: rgb(0, 0,30);" width="99%"><br /><span style="font-size:100%;"><pre><br /><br /><span style="font-family:courier new;">SqL>Create table test_clob (c1 clob,c2 number);</span><br /><br /><span style="font-family:courier new;">Table created.</span><br /><br /><br /><span style="font-family:courier new;">SqL>ed</span><br /><span style="font-family:courier new;">Wrote file afiedt.buf</span><br /><br /><span style="font-family:courier new;"> 1* Insert into test_clob values (Rpad('Test',50000,'*'),null)</span><br /><span style="font-family:courier new;">SqL>/</span><br /><br /><span style="font-family:courier new;">1 row created.</span><br /><br /><span style="font-family:courier new;">SqL>ed</span><br /><span style="font-family:courier new;">Wrote file afiedt.buf</span><br /><br /><span style="font-family:courier new;"> 1* Insert into test_clob values (Rpad('Test2',100000,'*'),null)</span><br /><span style="font-family:courier new;">SqL>/</span><br /><br /><span style="font-family:courier new;">1 row created.</span><br /><br /><span style="font-family:courier new;">SqL>update test_clob set c2=dbms_lob.getlength(c1);</span><br /><br /><span style="font-family:courier new;">2 rows updated.</span><br /><br /><span style="font-family:courier new;">SqL>commit;</span><br /><br /><span style="font-family:courier new;">Commit complete.</span><br /><br /><span style="font-family:courier new;">SqL>set long 30</span><br /><span style="font-family:courier new;">SqL>col c1 format a30 trunc</span><br /><br /><span style="font-family:courier new;">SqL>select c1,c2 from test_clob;</span><br /><br /><span style="font-family:courier new;">C1 C2</span><br /><span style="font-family:courier new;">------------------------------ ----------</span><br /><span style="font-family:courier new;">Test************************** 4000</span><br /><span style="font-family:courier new;">Test2************************* 4000</span><br /><br /><span style="font-family:courier new;">SqL>ed</span><br /><span style="font-family:courier new;">Wrote file afiedt.buf</span><br /><br /><span style="font-family:courier new;"> 1* select c1,c2,length(c1) from test_clob</span><br /><span style="font-family:courier new;">SqL>/</span><br /><br /><span style="font-family:courier new;">C1 C2 LENGTH(C1)</span><br /><span style="font-family:courier new;">------------------------------ ---------- ----------</span><br /><span style="font-family:courier new;">Test************************** 4000 4000</span><br /><span style="font-family:courier new;">Test2************************* 4000 4000</span><br /><br /><br /><span style="font-family:courier new;">SqL>ed</span><br /><span style="font-family:courier new;">Wrote file afiedt.buf</span><br /><br /><span style="font-family:courier new;"> 1 declare</span><br /><span style="font-family:courier new;"> 2 lv_tmp clob;</span><br /><span style="font-family:courier new;"> 3 lv_tmp1 varchar2(4000);</span><br /><span style="font-family:courier new;"> 4 begin</span><br /><span style="font-family:courier new;"> 5 lv_tmp1:= Rpad('Test3',4000,'*');</span><br /><span style="font-family:courier new;"> 6 for i in 1..10 loop</span><br /><span style="font-family:courier new;"> 7 lv_tmp:= lv_tmp||lv_tmp1;</span><br /><span style="font-family:courier new;"> 8 end loop;</span><br /><span style="font-family:courier new;"> 9 Insert into test_clob(c1) values (lv_tmp);</span><br /><span style="font-family:courier new;"> 10 commit;</span><br /><span style="font-family:courier new;"> 11* end;</span><br /><span style="font-family:courier new;"> 12 /</span><br /><br /><span style="font-family:courier new;">PL/SQL procedure successfully completed.</span><br /><br /><span style="font-family:courier new;">SqL>update test_clob set c2=dbms_lob.getlength(c1) where c2 is null;</span><br /><br /><span style="font-family:courier new;">1 row updated.</span><br /><br /><span style="font-family:courier new;">SqL>commit;</span><br /><br /><span style="font-family:courier new;">Commit complete.</span><br /><br /><span style="font-family:courier new;">SqL>select c1,c2,length(c1) from test_clob;</span><br /><br /><span style="font-family:courier new;">C1 C2 LENGTH(C1)</span><br /><span style="font-family:courier new;">------------------------------ ---------- ----------</span><br /><span style="font-family:courier new;">Test************************** 4000 4000</span><br /><span style="font-family:courier new;">Test2************************* 4000 4000</span><br /><span style="font-family:courier new;">Test3************************* 40000 40000</span><br /><br /></pre></span><br /> </td><br /> </tr><br /> </tbody></table><br /><br /><br /><span style="font-family:courier new;">first interesting thing I noticed was I couldnt use rpad function to generate a string more than 4000 chrs..Its strange that oracle silently ignores the request to create longer strings (request was made to make it as long as 100000 chrs long) but it extended only upto 4000.<br /><br />Well, that takes me to using PLSQL to insert clob data.<br /><br />now comes the interesting part..lets say we need to fetch only part of the data from clob..what would you use? dbms_lob.substr function or regular substr function?<br /><br /><table border="0" cellpadding="0" cellspacing="0" width="100%"><br /> <tbody><tr><br /> <td valign="top" width="1%"> </td><br /><br /> <td bg="" style="color: rgb(0, 0,30);" width="99%"><br /><span style="font-size:100%;"><pre><br /><br />SqL>ed<br />Wrote file afiedt.buf<br /><br /> 1 With v1 as (select &length len,&starting_chr startpos from dual)<br /> 2 select<br /> 3 length(substr(c1,startpos,len)) substr_len<br /> 4 , length(dbms_lob.substr(c1,len,startpos)) substr_lob<br /> 5* from test_clob,v1 where c2=40000<br />SqL>/<br />Enter value for length: 4000<br />Enter value for starting_chr: 1<br />old 1: With v1 as (select &length len,&starting_chr startpos from dual)<br />new 1: With v1 as (select 4000 len,1 startpos from dual)<br /><br />SUBSTR_LEN SUBSTR_LOB<br />---------- ----------<br /> 4000 4000<br /><br />SqL>/<br />Enter value for length: 4001<br />Enter value for starting_chr: 1<br />old 1: With v1 as (select &length len,&starting_chr startpos from dual)<br />new 1: With v1 as (select 4001 len,1 startpos from dual)<br /> , length(dbms_lob.substr(c1,len,startpos)) substr_lob<br /> *<br />ERROR at line 4:<br />ORA-06502: PL/SQL: numeric or value error: character string buffer too small<br />ORA-06512: at line 1<br /><br />SqL>ed<br />Wrote file afiedt.buf<br /><br /> 1 With v1 as (select &length len,&starting_chr startpos from dual)<br /> 2 select<br /> 3 length(substr(c1,startpos,len)) substr_len<br /> 4 , dbms_lob.getlength(substr(c1,startpos,len)) substr_lob<br /> 5 -- , length(dbms_lob.substr(c1,len,startpos)) substr_lob<br /> 6* from test_clob,v1 where c2=40000<br />SqL>/<br />Enter value for length: 5000<br />Enter value for starting_chr: 1<br />old 1: With v1 as (select &length len,&starting_chr startpos from dual)<br />new 1: With v1 as (select 5000 len,1 startpos from dual)<br /><br />SUBSTR_LEN SUBSTR_LOB<br />---------- ----------<br /> 5000 5000<br /><br /><br /></pre></span><br /> </td><br /> </tr><br /> </tbody></table><br /><br />what does that tell? dbms_lob.substr cannot return more than 4K characters ..whereas substr can..<br /><br />It all comes back to datatypes and why understanding them is necessary..I checked the manual and its clearly stated substr can take a clob as its input and return "clob" ..whereas dbms_lob if it accepts clob, returns varchar2 (hence limited to 4000 characters).<br /><br /><br /><br /></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com17tag:blogger.com,1999:blog-574785910411055456.post-90595712836944657252007-11-28T05:15:00.001-08:002007-11-28T05:26:03.915-08:00Interesting SQL problem<span style="font-size:85%;"><span style="font-family: courier new;">Came across this </span><a style="font-family: courier new;" href="http://www.freelists.org/archives/oracle-l/10-2005/msg00443.html">interesting sql question on oracle-l</a><span style="font-family: courier new;"> list while I was searching for something else.</span><br /><br /><span style="font-family: courier new;">The poster's original question is as below..</span></span><br /><pre><br /><pre style="color: rgb(204, 0, 0);"><span style="font-size:100%;">create table t(id number);<br />insert into t values(1);<br />insert into t values(2);<br />commit;<br /><br />I want to query this with an Id set. All values in the set should be<br />there to return me any row.<br />e.g.<br />select * from t where id in (1,2); return 1 and 2<br /><br />If am serching for 1,2,3 if any one value is missing I should not get any data.<br />e.g.<br />select * from t where id in (1,2,3) should not return any row.<br />How to rewrite the above query with (1,2,3) that should not return me any row.</span></pre><br /></pre><br /><br /><span style="font-family: courier new;"><span style="font-weight: bold;">Here is my solution for that...</span><br /><br /></span><span><span class="swb"><span style="font-size: 10pt; font-family: Courier New;"><pre></span></span></span><br /><span><span class="swb"><span style="font-size: 10pt; font-family: Courier New;"><blockquote style="color: rgb(51, 51, 255);">ccD>l<br /> 1 With inputstr as<br /> 2 ( select '&inp' elements from dual),<br /> 3 setdata<br /> 4 as<br /> 5 (<br /> 6 select<br /> 7 trim( substr (txt,<br /> 8 instr (txt, ',', 1, level ) + 1,<br /> 9 instr (txt, ',', 1, level+1)<br /> 10 - instr (txt, ',', 1, level) -1 ) )<br /> 11 as token<br /> 12 from (select ','||elements||',' txt<br /> 13 from inputstr ) t,inputstr i<br /> 14 connect by level <=<br /> 15 length(i.elements)-length(replace(i.elements,',',''))+1<br /> 16 )<br /> 17 select token from<br /> 18 (<br /> 19 select<br /> 20 to_number(token) token,<br /> 21 nvl2(t.id,1,0) present,<br /> 22 min(nvl2(t.id,1,0)) over() min_over_report<br /> 23 from setdata s, t<br /> 24 where s.token=t.id(+)<br /> 25 )<br /> 26* where min_over_report=1</blockquote><br /></pre><br /></span></span></span><span><span><span><span><span><span class="swb"><span><span class="swb"><span style="font-size: 10pt; font-family: Courier New;"><pre></span></span></span></span></span></span></span></span></span><br /><span><span class="swb"><span style="font-size: 10pt; font-family: Courier New;"><span style="font-weight: bold;"></span></span></span></span><blockquote><span><span class="swb"><span style="font-size: 10pt; font-family: Courier New;"><span style="font-weight: bold;">Testing</span><br /><span style="font-weight: bold;">--------</span><br /><br /></span></span></span><span><span><span><span><span><span class="swb"><span><span class="swb"><span style="font-size: 10pt; font-family: Courier New;"></span></span></span></span></span></span></span></span></span><br /><span><span class="swb"><div><span style="font-size: 10pt; font-family: Courier New;">ccD>select * from t; <span style="color: rgb(0, 0, 205);">-- this is what the table contains</span></span></div> <div><span style="font-size: 10pt; font-family: Courier New;"></span> </div> <div><span style="font-size: 10pt; font-family: Courier New;"> ID<br />----------<br /> 1<br /> 2<br />ccD> get the above sql into buffer<br /></span><span><span class="swb"><div><span style="font-size: 10pt; font-family: Courier New;">ccD>/<br />Enter value for inp: 1,2 <span style="color: rgb(0, 0, 205);">-- input is 1,2 and it retrives two rows</span></span></div> <div><span style="font-size: 10pt; font-family: Courier New;"></span> </div> <div><span style="font-size: 10pt; font-family: Courier New;"> TOKEN<br />----------<br /> 1<br /> 2</span></div> <div><span style="font-size: 10pt; font-family: Courier New;"></span> </div> <div><span style="font-size: 10pt; font-family: Courier New;">ccD>/<br />Enter value for inp: 1,2,3 <span style="color: rgb(0, 0, 205);">-- 1,2,3 retrives no rows because 3 is not present</span></span><span style="font-size: 10pt; font-family: Courier New;"></span></div> <div><span style="font-size: 10pt; font-family: Courier New;"></span> </div> <div><span style="font-size: 10pt; font-family: Courier New;">no rows selected</span></div> <div><span style="font-size: 10pt; font-family: Courier New;"></span> </div> <div><span style="font-size: 10pt; font-family: Courier New;">ccD>/<br />Enter value for inp: 1,2,3,4 <span style="color: rgb(0, 0, 205);">-- same with 1,2,3,4</span></span></div> <div><span style="font-size: 10pt; font-family: Courier New;"><span style="color: rgb(0, 0, 205);"></span></span><span style="font-size: 10pt; font-family: Courier New;"></span> </div> <div><span style="font-size: 10pt; font-family: Courier New;">no rows selected</span></div> <div><span style="font-size: 10pt; font-family: Courier New;"></span> </div> <div><span style="font-size: 10pt; font-family: Courier New;">ccD>/<br />Enter value for inp: 1 <span style="color: rgb(0, 0, 205);">-- input 1 retrives one row</span></span></div> <div><span style="font-size: 10pt; font-family: Courier New;"></span> </div> <div><span style="font-size: 10pt; font-family: Courier New;"> TOKEN<br />----------<br /> 1</span></div></span></span></div></span></span></blockquote><span><span class="swb"><div><span><span class="swb"><div><span style="font-size: 10pt; font-family: Courier New;"><br /></pre><br /></span></div></span></span><br /></div></span></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com1tag:blogger.com,1999:blog-574785910411055456.post-78968894422267402172007-11-26T12:22:00.001-08:002008-12-10T06:51:27.654-08:00Software what?<span style="font-family:courier new;">Just saw this picture online and was thinking to myself..<br /><br />well this day is not very far away and approaching us very soon. we are going to see "wanted software pros" like our current "open house" signs.<br /><br />but I am curious how to interpret...<br />too much demand for software professionals?<br /> or<br />would that be too much supply in market , that employing headhunters to recruit would be considered "not-worth-the-cost".<br /><br />Take a look at this picture..<br /><br /><br /></span><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Ge4hXqwM0Cg/R0ssJ1eTeOI/AAAAAAAAAAc/98vQpZTfkE4/s1600-h/wanted.jpg"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_Ge4hXqwM0Cg/R0ssJ1eTeOI/AAAAAAAAAAc/98vQpZTfkE4/s320/wanted.jpg" alt="" id="BLOGGER_PHOTO_ID_5137248347430811874" border="0" /></a><br /><span style="font-family:courier new;"><br /></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-15322027989113855112007-11-03T14:02:00.000-07:002007-11-03T14:22:53.510-07:00ASM instance & remote client<span style="font-family: courier new;">well we know ASM instance is always in mount state and so you really dont have much access to data dictionary..and listener displays BLOCKED as status leaving you no choice but to login into the OS server and connect to asm instance locally..<br /><br />But I just learned something new..that by adding "UR=A" to tnsnames, you can actually connect to asm instance (blocked service) via oracle net connection. (remote connection)<br /><br />thats really cool thing for me..as I dont have to login to a server box just to check asm instance..I can simply have one more sql window open to asm instance from my client..<br /><br /><span style="font-weight: bold;">Add "(UR=A)" to the connect_data section of your tnsnames entry and you should be all set</span>.<br /><br />(Note: ASM instance lets admin authentication only via password file or OS authentication..so obviously, you have to have password file created before trying to connect to ASM from remote client)<br /><br /><br /></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com170tag:blogger.com,1999:blog-574785910411055456.post-88689563106398777832007-10-06T11:59:00.000-07:002007-10-06T12:11:21.868-07:00End of in-house DBAs?<span style="font-family: courier new;">just happened to read this <a href="http://eyeonoracle.blogs.techtarget.com/2007/09/10/are-you-afraid-of-hosted-apps/">interesting blog</a> in searchoracle.com.<br />The article discusses about the latest evolution of "Oracle on demand" service and its potential impact (or end) of in-house DBAs<br /><br /><span style="font-family: times new roman;"></span></span><blockquote><span style="font-family: courier new;"><span style="font-family: times new roman;">"</span></span><span style="font-family: times new roman;">....members revealed a surprisingly high 37% of you currently use hosted apps.</span> <p style="font-family: times new roman;">Does that concern you DBAs? Is this the beginning of the end of the in-house DBA?</p> <p style="font-family: times new roman;">For managers, Oracle’s pitch is compelling:</p> <blockquote style="font-family: times new roman;"><p>With more than 1.7 million users, including enterprise customers with the most rigorous requirements, Oracle On Demand simplifies enterprise computing by reducing the need to handle software upgrades, patches, and the day-to-day maintenance required to keep customer solutions available and secure.</p> </blockquote> <p style="font-family: times new roman;">. . . not to mention a lower TCO, including no six-figure salaries to those pesky senior DBAs. It’s the “best of all worlds” as the Oracle site melodramatically puts it.</p><p style="font-family: times new roman;">"</p></blockquote><p style="font-family: times new roman;"></p>and finally it posts the question<p style="font-family: times new roman;"></p><blockquote>"Do you think that Oracle DBAs’ days are numbered because of the growth of On Demand?"</blockquote><p></p><p style="font-family: courier new;"> that was really interesting to think about. I don't personally foresee something like this to become a successful strategy in at least the next 4-5 years, unless Oracle changes its staff/team and strategy. Forget about data being hosted, currently ask anyone who has to deal with metalink folks.. It sometimes gives such a bad taste, you even wonder how the heck these guys managed to find a job in Oracle..</p><span style="font-family: courier new;">On the other hand, having a alternative is good for the company, as I have seen many DBAs who are not technically competent but simply want to enforce whatever be their principles. So this alternatives would eventually make them realize they are not the super-bosses anymore to say& act the way they wanted. CEO/CTO now has an option to bypass such egoistic persons in their companies.</span><br /><p style="font-family: times new roman;"><br /></p><p style="font-family: times new roman;"><br /></p>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com1tag:blogger.com,1999:blog-574785910411055456.post-71314762192047830372007-09-29T17:12:00.000-07:002007-09-29T17:16:44.528-07:0011g 's DBMS_SPM <font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2"><span style="font-family: Georgia;">11g introduces more admin-friendly features to maintain/control query plan stability.</span><br style="font-family: Georgia;"><br style="font-family: Georgia;"><span style="font-family: Georgia;">I was going through this new package introduced in 11g for SQL PLAN Management(SPM) called DBMS_SPM.and to be honest, I actually got distracted while I was reading abt this.. Instead of knowing how to actually use this the way its intended to be used (many plans for a sql and flip flopping which one should the DBA wants to be used)..I thought something else and found it useful in a different way..</span><br style="font-family: Georgia;"><br style="font-family: Georgia;"><br style="font-family: Georgia;"><span style="font-family: Georgia;">If you been to environments where developers just go nuts when</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">- they see the plan in production was completely different than what they expected</span><br style="font-family: Georgia;"><span style="font-family: Georgia;">- they see a SQL taking forever because the plan changed in Production for no reason (most likely after stats gatheration or shutdown)</span><br style="font-family: Georgia;"><br style="font-family: Georgia;"><span style="font-family: Georgia;">and there have been countless situations a DBA/Consultant would walk-in like an emergency doctor and take a look at all those "v$sql" patients and finally conclude "You are suffering from bind peeking problem". (which roughly means the plan in the shared pool was optimized for the first input value and unfit/inefficient for subsequent calls with varying input values)</span></font><br><br><pre><br><br><blockquote style="font-family: Courier New;"><font color="#3333ff" size="2">Setup:<br>------<br><br>Sql>ed<br>Wrote file afiedt.buf<br><br>1 Create table test_sql_plan<br>2 as select 100 id, rpad(rownum,10,'x') name<br>3* from dual connect by level<999>/<br><br>Table created.<br><br>Sql>ed<br>Wrote file afiedt.buf<br><br>1 insert into test_sql_plan<br>2 select rownum id, rpad(rownum,10,'x') name<br>3* from dual connect by level<11>/<br><br>10 rows created.<br><br>Sql>commit;<br><br>Commit complete.<br><br>Sql>Create index test_sp_idx on test_sql_plan(id);<br><br>Index created.<br><br>Sql>begin<br>2 dbms_stats.gather_table_stats(tabname=>'TEST_SQL_PLAN',<br>3 ownname=>'VENKAT',<br>4 method_opt=>'for all indexed columns size 254');<br>5 end;<br>6 /<br><br>PL/SQL procedure successfully completed.</font></blockquote><font size="3"><br></font><br></pre><br><br><b>Testing begins from here...</b><br><pre><br><blockquote style="font-family: Courier New;"><font color="#3366ff" size="2">Session 1:<br>----------<br>Sql>exec :v := 2;<br><br>PL/SQL procedure successfully completed.<br><br>Sql>select * from test_sql_plan plan_with_2_first where id=:v;<br><br> ID NAME<br>---------- ----------<br> 2 2xxxxxxxxx<br> <br> <br> -- session 2<br> -- ----------<br> sq2>ed<br> Wrote file afiedt.buf<br><br> 1 select sql_text sqltext,sql_id,plan_hash_value,executions from v$sql<br> 2 where sql_text like<br> 3 'select * from test_sql_plan plan_with_2_first%where id=%'<br> 4* and executions>0<br> sq2>/<br><br> SQLTEXT SQL_ID PLAN_HASH_VALUE EXECUTIONS<br> --------------------------------------------- ------------- --------------- ----------<br> select * from test_sql_plan plan_with_2_first 69yujf79wwkja 3623521558 1<br> where id=:v<br><br> sq2>-- go back to session 1 and rerun the same sql for different bind value<br><br>Sql>exec :v := 100;<br><br>PL/SQL procedure successfully completed.<br><br>Sql>select * from test_sql_plan plan_with_2_first where id=:v;<br>...<br>...<br>...<br> 100 991xxxxxxx<br> 100 992xxxxxxx<br> 100 993xxxxxxx<br> 100 994xxxxxxx<br> 100 995xxxxxxx<br> 100 996xxxxxxx<br> 100 997xxxxxxx<br> 100 998xxxxxxx<br><br>998 rows selected.<br><br>Sql><br><br> -- session 2<br> -- ----------<br> sq2>/<br><br> SQLTEXT SQL_ID PLAN_HASH_VALUE EXECUTIONS<br> --------------------------------------------- ------------- --------------- ----------<br> select * from test_sql_plan plan_with_2_first 69yujf79wwkja 3623521558 2<br> where id=:v<br><br> sq2>ed<br> Wrote file afiedt.buf<br><br> 1 select OPERATION,OBJECT_OWNER,OBJECT_NAME from v$sql_plan<br> 2 where PLAN_HASH_VALUE=3623521558<br> 3 and sql_id='69yujf79wwkja'<br> 4* order by id<br> sq2>/<br><br> OPERATION OBJECT_OWNER OBJECT_NAME<br> ------------------------------ ------------------------------ -----------------------------<br> SELECT STATEMENT<br> TABLE ACCESS VENKAT TEST_SQL_PLAN<br> INDEX VENKAT TEST_SP_IDX<br><br><br></font></blockquote><br><br><br></pre><br><br><br></font><font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2">-- now we know we have a bad plan in shared pool ..<br>-- how do we go about and eliminate the plan<br>-- without brutally flushing the entire shared pool<br>--<br><br></font></font></font></font><pre><font face="courier new"><font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2"><br><font size="3"><b>DBMS_SPM to our rescue..</b></font><font size="3"><br><br></font></font></font></font></font><blockquote style="font-family: Georgia;"><font face="courier new"><font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2"><font color="#3366ff" size="1"><b>sq2>l<br>1 declare<br>2 lv_res PLS_INTEGER;<br>3 begin<br>4 lv_res:= DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE(sql_id=>'69yujf79wwkja');<br>5 dbms_output.put_line(lv_res);<br>6* end;<br>sq2>/<br>1<br><br>PL/SQL procedure successfully completed.<br><br>sq2>select sql_handle,sql_text from dba_sql_plan_baselines<br>2 where sql_text like<br>3 'select * from test_sql_plan plan_with_2_first%where id=%'<br>4 /<br><br>SQL_HANDLE SQL_TEXT<br>------------------------------ ----------------------------------------------------------<br>SYS_SQL_5053e5a52d822dcf select * from test_sql_plan plan_with_2_first where id=:v<br><br>sq2>declare<br>2 lv_res pls_integer;<br>3 begin<br>4 lv_res:=DBMS_SPM.DROP_SQL_PLAN_BASELINE (sql_handle=>'SYS_SQL_5053e5a52d822dcf');<br>5 dbms_output.put_line(lv_res);<br>6 end;<br>7 /<br>1<br><br>PL/SQL procedure successfully completed.</b></font></font></font></font></font></blockquote><font face="courier new"><font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2"><br></font></font></font></font></pre><font face="courier new"><font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2"><br><br>for bind variable 100, the sql was initially doing index lookup before (whereas full table scan was optimal one)<br><br>Lets run it again<br><br></font></font></font></font><pre><font face="courier new"><font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2"><br></font></font></font></font><blockquote style="font-family: Courier New;"><font face="courier new"><font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2"><font color="#3366ff" size="2">--session 1 runs the same sql again (with value =100)<br>Sql>select * from test_sql_plan plan_with_2_first where id=:v;<br>...<br>...<br>...<br> 100 991xxxxxxx<br> 100 992xxxxxxx<br> 100 993xxxxxxx<br> 100 994xxxxxxx<br> 100 995xxxxxxx<br> 100 996xxxxxxx<br> 100 997xxxxxxx<br> 100 998xxxxxxx<br><br>998 rows selected.<br><br>-- session 2<br>sq2>select sql_text sqltext,sql_id,plan_hash_value,executions from v$sql<br>2 where sql_text like<br>3 'select * from test_sql_plan plan_with_2_first%where id=%'<br>4 and executions>0<br>5 /<br><br>SQLTEXT SQL_ID PLAN_HASH_VALUE EXECUTIONS<br>--------------------------------------------- ------------- --------------- ----------<br>select * from test_sql_plan plan_with_2_first 69yujf79wwkja 3623521558 2<br>where id=:v<br><br></font><font style="color: rgb(255, 0, 0);" color="#3366ff" size="2">select * from test_sql_plan plan_with_2_first 69yujf79wwkja 1269960815 1</font><font color="#3366ff" size="2"><br></font><font style="color: rgb(255, 0, 0);" color="#3366ff" size="2">where id=:v <---- ***** NEW PLAN *****</font><font color="#3366ff" size="2"><br><br>sq2>ed<br>Wrote file afiedt.buf<br><br>1 select OPERATION,OPTIONS,OBJECT_OWNER,OBJECT_NAME from v$sql_plan<br>2 where PLAN_HASH_VALUE=1269960815<br>3 and sql_id='69yujf79wwkja'<br>4* order by id<br>sq2>/<br><br>OPERATION OPTIONS OBJECT_OWNER OBJECT_NAME<br>------------------------------ ------------------------------ ------------------------------ -------<br>SELECT STATEMENT<br></font><font style="color: rgb(255, 0, 0);" color="#3366ff" size="2"><b>TABLE ACCESS FULL </b></font><font size="3"><font color="#3366ff" size="2"> VENKAT </font> <font size="2"><span style="font-family: Courier New;"> TEST_SQL_PLAN</span></font></font></font></font></font></font></blockquote><font face="courier new"><font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2"><br><br></font></font></font></font></pre><font face="courier new"><font face="courier new"><font style="color: rgb(51, 51, 51);" size="3"><font size="2"><br><br><b>Now that looks like easy fix without having to run dbms_stats or flushing shared pool or running an alter table (to forcefully invalidate the plan in shared pool)</b><br></font></font></font></font>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-53451944307975018862007-09-23T10:05:00.000-07:002007-09-23T10:14:14.048-07:00something new learnt (outside oracle)<span style="font-family: courier new;">finally I am becoming a little HTML-aware person..</span><br /><span style="font-family: courier new;">not anymore you are going to see messy formats in this blog as I just learnt (& tested) I could use preserve tags to avoid spaces getting eaten up and making the sql code and display totally clumpsy.</span><br /><br /><span style="font-family: courier new;">here is a test..</span><br /><br /><span style="font-family: courier new;">copy and paste of same text (from sql screen)</span><br /><br />old way (how It appeared before)<br /><span style="font-size:85%;"><br /><span style="font-family:courier new;font-size:85%;">OPERATION OBJECT_OWNER <br /></span><span style="font-family:courier new;font-size:85%;">------------------------------ ------------------------------<br /></span><span style="font-family:courier new;font-size:85%;">SELECT STATEMENT</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">SELECT STATEMENT</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">SELECT STATEMENT</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">SELECT STATEMENT</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">SELECT STATEMENT</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">TABLE ACCESS VENKAT </span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">TABLE ACCESS VENKAT </span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">TABLE ACCESS VENKAT </span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">TABLE ACCESS VENKAT </span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">TABLE ACCESS VENKAT </span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">INDEX VENKAT </span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">INDEX VENKAT </span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">INDEX VENKAT </span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">INDEX VENKAT </span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">INDEX VENKAT </span><br /></span><br /><br />new way (from now on)<br /><br /><pre><br /><span style=";font-family:courier new;font-size:85%;" >OPERATION OBJECT_OWNER <br />------------------------------ ------------------------------<br />SELECT STATEMENT<br />SELECT STATEMENT<br />SELECT STATEMENT<br />SELECT STATEMENT<br />SELECT STATEMENT<br />TABLE ACCESS VENKAT <br />TABLE ACCESS VENKAT <br />TABLE ACCESS VENKAT <br />TABLE ACCESS VENKAT <br />TABLE ACCESS VENKAT <br />INDEX VENKAT <br />INDEX VENKAT <br />INDEX VENKAT <br />INDEX VENKAT <br />INDEX VENKAT <br /></span><br /></pre><br /><br />Thats pretty neat!!Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-82206471414818575842007-09-18T16:21:00.000-07:002007-09-18T16:56:31.029-07:00bye bye to FBI; Lets Welcome VC(FBI ==> Function Based Indexes ; VC ==> Virtual Columns )<br /><br />starting 11g, you can have Virtual columns (expression or computations) in a table just like regular columns .. That would make lots of things readable..queries, index scripts etc etc..<br /><br />you can have constraints based on Virtual columns..you can even partition the table based on VC.<br /><br />Here is a simple demo<br />----------------------<br /><blockquote></blockquote><blockquote></blockquote><blockquote style="font-family: courier new;"><span style="font-size:85%;">Create table test_vc (<br /> id number(5) ,<br /> name varchar2(10) ,<br /> age number(3) ,<br /> sal number(10) ,<br /> comm number(10) ,<br /> grade varchar2(10) GENERATED ALWAYS as<br /> (<br /> CASE WHEN (age>60)<br /> THEN 'Senior'<br /> WHEN ((age between 51 and 60) and (sal>200000))<br /> THEN 'Grade A+'<br /> WHEN ((age between 51 and 60) and (sal<200000))<br /> THEN 'Grade A-'<br /> WHEN ((age between 41 and 50) and (sal>200000))<br /> THEN 'Grade B+'<br /> WHEN ((age between 41 and 50) and (sal<200000))<br /> THEN 'Grade B-'<br /> WHEN ((age between 31 and 40) and (sal>200000))<br /> THEN 'Grade C+'<br /> WHEN ((age between 31 and 40) and (sal<200000))<br /> THEN 'Grade C-'<br /> END<br /> ) VIRTUAL ,<br /> grade_auto GENERATED ALWAYS as<br /> (<br /> CASE WHEN (age>60)<br /> THEN 'Senior'<br /> WHEN ((age between 51 and 60) and (sal>200000))<br /> THEN 'Grade A+'<br /> WHEN ((age between 51 and 60) and (sal<200000))<br /> THEN 'Grade A-'<br /> WHEN ((age between 41 and 50) and (sal>200000))<br /> THEN 'Grade B+'<br /> WHEN ((age between 41 and 50) and (sal<200000))<br /> THEN 'Grade B-'<br /> WHEN ((age between 31 and 40) and (sal>200000))<br /> THEN 'Grade C+'<br /> WHEN ((age between 31 and 40) and (sal<200000))<br /> THEN 'Grade C-'<br /> END<br /> ) VIRTUAL <br /> )</span></blockquote><br />Both Grade and Grade_auto are Virtual columns ..but the only difference is for Grade_auto Oracle assigned the datatype by its own judgement.<br /><br /><span style="font-size:85%;"><span style="font-family: courier new;"></span><blockquote><span style="font-family: courier new;">SQL> desc test_vc</span><br /><span style="font-family: courier new;"> Name Null? Type</span><br /><span style="font-family: courier new;"> ----------------------------------------- -------- --------------</span><br /><span style="font-family: courier new;"> ID NUMBER(5)</span><br /><span style="font-family: courier new;"> NAME VARCHAR2(10)</span><br /><span style="font-family: courier new;"> AGE NUMBER(3)</span><br /><span style="font-family: courier new;"> SAL NUMBER(10)</span><br /><span style="font-family: courier new;"> COMM NUMBER(10)</span><br /><span style="font-family: courier new;"> GRADE VARCHAR2(10)</span><br /><span style="font-family: courier new;"> GRADE_AUTO <span style="color: rgb(255, 0, 0);">VARCHAR2(8)</span> <span style="color: rgb(255, 0, 0);"><---</span><br /></span></blockquote><span style="font-family: courier new;"></span></span><br />Before 11g, we either would have created an Index on user-defined deterministic function or standard built-in functions.. this would have been the Create Index statement<br /><br /><span style="font-size:85%;"><span style="font-family: courier new;"></span><blockquote><span style="font-family: courier new;">SQL> Create index test_f_idx on test_vc(</span><br /><span style="font-family: courier new;"> 2 CASE WHEN (age>60)</span><br /><span style="font-family: courier new;"> 3 THEN 'Senior'</span><br /><span style="font-family: courier new;"> 4 WHEN ((age between 51 and 60) and (sal>=200000))</span><br /><span style="font-family: courier new;"> 5 THEN 'Grade A+'</span><br /><span style="font-family: courier new;"> 6 WHEN ((age between 51 and 60) and (sal<200000))</span><br /><span style="font-family: courier new;"> 7 THEN 'Grade A-'</span><br /><span style="font-family: courier new;"> 8 WHEN ((age between 41 and 50) and (sal>=200000))</span><br /><span style="font-family: courier new;"> 9 THEN 'Grade B+'</span><br /><span style="font-family: courier new;"> 10 WHEN ((age between 41 and 50) and (sal<200000))</span><br /><span style="font-family: courier new;"> 11 THEN 'Grade B-'</span><br /><span style="font-family: courier new;"> 12 WHEN ((age between 31 and 40) and (sal>=200000))</span><br /><span style="font-family: courier new;"> 13 THEN 'Grade C+'</span><br /><span style="font-family: courier new;"> 14 WHEN ((age between 31 and 40) and (sal<200000))</span><br /><span style="font-family: courier new;"> 15 THEN 'Grade C-'</span><br /><span style="font-family: courier new;"> 16 END</span><br /><span style="font-family: courier new;"> 17 );</span></blockquote><span style="font-family: courier new;"></span></span><br />Now check out how the same reads..<br /><blockquote><span style="font-size:85%;">-- in 11g (indexing on Virtual columns allowed)<br />-- ---------------------------------------------------------<br /><span style="font-family: courier new;">Create index test_vc_idx1 on test_vc(grade);</span><br /><span style="font-family: courier new;">Create index test_vc_idx2 on test_vc(grade_auto);</span></span></blockquote><span style="font-size:85%;"><span style="font-family: courier new;"></span></span>Behind the screens, Oracle handles the Virtual columns just the same way as FBIs<br /><br /><span style="font-size:85%;"><span style="font-family: courier new;"></span><blockquote><span style="font-family: courier new;">SQL> select index_name,index_type from user_indexes</span><br /><span style="font-family: courier new;"> 2 where table_name='TEST_VC';</span><br /><br /><span style="font-family: courier new;">INDEX_NAME INDEX_TYPE</span><br /><span style="font-family: courier new;">------------------------------ ------------------------</span><br /><span style="font-family: courier new;">TEST_VC_IDX2 FUNCTION-BASED NORMAL</span><br /><span style="font-family: courier new;">TEST_VC_IDX1 FUNCTION-BASED NORMAL</span><br /><span style="font-family: courier new;">TEST_F_IDX FUNCTION-BASED NORMAL</span></blockquote><span style="font-family: courier new;"></span></span><br />so lets forget Function based Index and start using Virtual columns..Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-69845274121192785622007-09-16T11:08:00.000-07:002007-09-16T11:13:08.839-07:0011g automagic partition creations - part2<span style="font-size:100%;"><span style="font-family: courier new;">its a bit different when you range partition by date column..you cannot specify a constant as your interval</span><br /><br /><span style="font-family: courier new;"></span><blockquote><span style="font-size:85%;"><span style="font-family: courier new;">SQL> Create table test_auto_partitioning_2</span><br /><span style="font-family: courier new;"> 2 (c1 number, c2 varchar2(10) , c3 date)</span><br /><span style="font-family: courier new;"> 3 partition by range (c3)</span><br /><span style="font-family: courier new;"> 4 interval(30)</span><br /><span style="font-family: courier new;"> 5 (</span><br /><span style="font-family: courier new;"> 6 partition part1 values less than (to_date('09/15/2007','MM/DD/YYYY')),</span><br /><span style="font-family: courier new;"> 7 partition part2 values less than (to_date('10/15/2007','MM/DD/YYYY')),</span><br /><span style="font-family: courier new;"> 8 partition part3 values less than (to_date('11/15/2007','MM/DD/YYYY'))</span><br /><span style="font-family: courier new;"> 9 )</span><br /><span style="font-family: courier new;"> 10 /</span><br /><span style="font-family: courier new;">Create table test_auto_partitioning_2</span><br /><span style="font-family: courier new;">*</span><br /><span style="font-family: courier new;">ERROR at line 1:</span><br /><span style="font-family: courier new;">ORA-14752: Interval expression is not a constant of the correct type</span><br /></span></blockquote><br /><span style="font-family: courier new;">Instead specify as date-interval datatype so oracle is aware of what you are requesting.. Rest is pretty much the same..<br /><br /><br /></span><br /><span style="font-size:85%;"><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> Create table test_auto_partitioning_2</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 2 (c1 number, c2 varchar2(10) , c3 date)</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 3 partition by range (c3)</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 4 <span style="font-weight: bold;">interval(<span style="color: rgb(255, 0, 0);">numtoyminterval(1,'MONTH')</span>) </span></span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 5 (</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 6 partition part1 values less than (to_date('09/15/2007','MM/DD/YYYY')),</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 7 partition part2 values less than (to_date('10/15/2007','MM/DD/YYYY')),</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 8 partition part3 values less than (to_date('11/15/2007','MM/DD/YYYY'))</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 9 )</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 10 /</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Table created.</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> select partition_name,num_rows from user_tab_partitions t</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 2 where table_name='TEST_AUTO_PARTITIONING_2';</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">PARTITION_NAME NUM_ROWS</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">------------------------------ ----------</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">PART1</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">PART2</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">PART3</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> Insert into TEST_AUTO_PARTITIONING_2(c3)</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 2 values (to_date('&mm/&dd/2007','mm/dd/yyyy'));</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for mm: 09</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for dd: 01</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">old 2: values (to_date('&mm/&dd/2007','mm/dd/yyyy'))</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">new 2: values (to_date('09/01/2007','mm/dd/yyyy'))</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">1 row created.</span><br /><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> /</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for mm: 09</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for dd: 13</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">old 2: values (to_date('&mm/&dd/2007','mm/dd/yyyy'))</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">new 2: values (to_date('09/13/2007','mm/dd/yyyy'))</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">1 row created.</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> /</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for mm: 09</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for dd: 17</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">old 2: values (to_date('&mm/&dd/2007','mm/dd/yyyy'))</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">new 2: values (to_date('09/17/2007','mm/dd/yyyy'))</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">1 row created.</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> /</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for mm: 10</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for dd: 16</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">old 2: values (to_date('&mm/&dd/2007','mm/dd/yyyy'))</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">new 2: values (to_date('10/16/2007','mm/dd/yyyy'))</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">1 row created.</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> /</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for mm: 11</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for dd: 16</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">old 2: values (to_date('&mm/&dd/2007','mm/dd/yyyy'))</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">new 2: values (to_date('11/16/2007','mm/dd/yyyy'))</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">1 row created.</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> /</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for mm: 12</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Enter value for dd: 16</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">old 2: values (to_date('&mm/&dd/2007','mm/dd/yyyy'))</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">new 2: values (to_date('12/16/2007','mm/dd/yyyy'))</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">1 row created.</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> commit;</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">Commit complete.</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> begin</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 2 dbms_stats.gather_table_stats(ownname=>user,tabname=>'TEST_AUTO_PARTITIONING_2');</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 3 end;</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 4 /</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">PL/SQL procedure successfully completed.</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SQL> select partition_name,num_rows from user_tab_partitions t</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);"> 2 where table_name='TEST_AUTO_PARTITIONING_2';</span><br /><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">PARTITION_NAME NUM_ROWS</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">------------------------------ ----------</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">PART1 2</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">PART2 1</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">PART3 1</span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SYS_P44 1 <span style="color: rgb(255, 0, 0); font-weight: bold;">-- auto generated</span></span><br /><span style="font-family: courier new; color: rgb(51, 51, 255);">SYS_P45 1 <span style="color: rgb(255, 0, 0); font-weight: bold;">-- auto generated</span><br /><br /></span></span></span><span style="font-size:100%;"><span style="font-family: courier new;">11g rocks!!</span></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com11tag:blogger.com,1999:blog-574785910411055456.post-49684393589210131612007-09-16T10:53:00.000-07:002007-09-16T11:08:12.463-07:0011g automagic partition creations<span style="font-family: courier new;"><span style="font-size:100%;">11g introduces this new interval partitioning ..bye-bye to all age-old partition maintenance script to create new partitions and capturing unexpected data into "maxvalue" bucket.<br /><br />all you have to tell Oracle is your logic of partitioning..ie INTERVAL key.<br /><br />See it in action here..</span><br /><br /><span style="color: rgb(0, 0, 153);font-size:85%;" >SQL>connect venkat/venkat<br /><br />-- range partition by number<br />-- -------------------------<br /><br />Create table TEST_AUTO_PARTITIONING_1<br /> (c1 number, c2 varchar2(10) , c3 date)<br />partition by range (c1)<br />interval(30) <span style="color: rgb(255, 0, 0); font-weight: bold;">-- INTERVAL specified as 30</span><br />(<br />partition part1 values less than (100),<br />partition part2 values less than (200),<br />partition part3 values less than (300)<br />)<br />/<br /><br /><br />SQL> select partition_name from user_tab_partitions t<br /> 2 where table_name='TEST_AUTO_PARTITIONING_1';<br /><br />PARTITION_NAME<br />------------------------------<br />PART1<br />PART2<br />PART3<br /><br /><span style="font-weight: bold; color: rgb(255, 0, 0);">-- insert 3 rows (50,150 and 250)</span><br />SQL> select * from TEST_AUTO_PARTITIONING_1<br /> 2 /<br /><br /> C1 C2 C3<br />---------- ---------- ---------<br /> 50<br /> 150<br /> 250<br /><br />SQL> select partition_name from user_tab_partitions t<br /> 2 where table_name='TEST_AUTO_PARTITIONING_1';<br /><br />PARTITION_NAME<br />------------------------------<br />PART1<br />PART2<br />PART3<br /><br />SQL> insert into TEST_AUTO_PARTITIONING_1 (c1) values (&n);<br />Enter value for n: 350<br />old 1: insert into TEST_AUTO_PARTITIONING_1 (c1) values (&n)<br />new 1: insert into TEST_AUTO_PARTITIONING_1 (c1) values (350)<br /><br />1 row created.<br /><br />SQL> /<br />Enter value for n: 450<br />old 1: insert into TEST_AUTO_PARTITIONING_1 (c1) values (&n)<br />new 1: insert into TEST_AUTO_PARTITIONING_1 (c1) values (450)<br /><br />1 row created.<br /><br />SQL> /<br />Enter value for n: 550<br />old 1: insert into TEST_AUTO_PARTITIONING_1 (c1) values (&n)<br />new 1: insert into TEST_AUTO_PARTITIONING_1 (c1) values (550)<br /><br />1 row created.<br /><br />SQL> commit;<br /><br />Commit complete.<br /><br />SQL> begin<br /> 2 dbms_stats.gather_table_stats(ownname=>USER,tabname=>'TEST_AUTO_PARTITIONING_1');<br /> 3 end;<br /> 4 /<br /><br />PL/SQL procedure successfully completed.<br /><br />SQL> select partition_name,num_rows from user_tab_partitions t<br /> 2 where table_name='TEST_AUTO_PARTITIONING_1';<br /><br />PARTITION_NAME NUM_ROWS<br />------------------------------ ----------<br />PART1 1<br />PART2 1<br />PART3 1<br />SYS_P41 1 </span></span><span style="font-family: courier new;"><span style="color: rgb(0, 0, 153);font-size:85%;" ><span style="color: rgb(255, 0, 0); font-weight: bold;">-- system generated</span></span></span><br /><span style="font-family: courier new;"><span style="color: rgb(0, 0, 153);font-size:85%;" >SYS_P42 1 </span></span><span style="font-family: courier new;"></span><span style="font-family: courier new;"><span style="color: rgb(0, 0, 153);font-size:85%;" ><span style="color: rgb(255, 0, 0); font-weight: bold;">-- system generated</span></span></span><br /><span style="font-family: courier new;"><span style="color: rgb(0, 0, 153);font-size:85%;" >SYS_P43 1 </span></span><span style="font-family: courier new;"></span><span style="font-family: courier new;"><span style="color: rgb(0, 0, 153);font-size:85%;" ><span style="color: rgb(255, 0, 0); font-weight: bold;">-- system generated</span></span></span><br /><span style="font-family: courier new;"><span style="color: rgb(0, 0, 153);font-size:85%;" ><br />6 rows selected.</span><br /><br />to continue in next post: Interval partitioning for date column<br /><br /></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-18335760838643950952007-08-26T21:10:00.000-07:002007-08-26T21:28:16.967-07:00simple and elegant..something new from 10g<span style="font-family: courier new;"></span><blockquote><span style="font-family: courier new;">One more time It happened..I was browsing within Oracle documentation for something else and found something else (of course, got deviated from intended search :))<br /><br /><br /></span><br /><span style="font-family: courier new;">Single quotes within a string literal is always a messy job in Oracle because you need to escape every single single quote within your string to make Oracle understand its a part of data.</span></blockquote><span style="font-family: courier new;"></span><br /><br /><span style="font-size:85%;"><span style="font-family: courier new;">SQL> conn venkat/venkat@ORCL<br /><br /></span><span style="font-family: courier new;">Connected.<br /><br /></span><span style="font-family: courier new;">SQL> select * from <span style="font-weight: bold; color: rgb(51, 102, 255);">v$version</span>;<br /><br /></span><br /><span style="font-family: courier new;">BANNER<br /><br /></span><span style="font-family: courier new;">----------------------------------------------------------------<br /><br /></span><span style="font-family: courier new;">Oracle Database 10g Enterprise Edition Release <span style="font-weight: bold; color: rgb(51, 102, 255);">10.2.0.1.0 - Prod<br /></span></span><span style="font-family: courier new;">PL/SQL Release 10.2.0.1.0 - Production<br /></span><span style="font-family: courier new;">CORE 10.2.0.1.0 Production<br /></span><span style="font-family: courier new;">TNS for 32-bit Windows: Version 10.2.0.1.0 - Production<br /></span><span style="font-family: courier new;">NLSRTL Version 10.2.0.1.0 - Production<br /><br /><br /></span></span><br /><br />here is the tradtional way I had known ever since<br /><br /><span style="color: rgb(0, 0, 0); font-family: courier new;font-size:85%;" ><blockquote>SQL> ed<br />Wrote file afiedt.buf<br /><br /> 1 select<br /> 2 'it''s sunday night '||<br /> 3 to_char(sysdate,'hh:MI AM')||<br /> 4 '. I am testing single quoting ("''") in Oracle' as TestOutput<br /> 5* from dual<br />SQL> /<br /><br />TESTOUTPUT<br />------------------------------------------------------------------------<br />it's sunday night 09:15 PM. I am testing single quoting ("'") in Oracle</blockquote></span><br /><br /><br />Now here is the same using <span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);">10g's Q quote delimiter</span><br /><br /><span style="font-size:85%;"><span style="font-family: courier new;"></span><blockquote><span style="font-family: courier new;">SQL> ed<br /></span><span style="font-family: courier new;">Wrote file afiedt.buf<br /><br /></span><span style="font-family: courier new;"> 1 select <span style="font-weight: bold; color: rgb(51, 51, 255);">q'(it's sunday night )' ||<br /></span></span><span style="font-family: courier new;"> 2 to_char(sysdate,'hh:MI AM')||<br /></span><span style="font-family: courier new;"> 3 <span style="font-weight: bold; color: rgb(51, 51, 255);">q'(. I am testing single quoting ("'") in Oracle)'</span> TestOutput<br /></span><span style="font-family: courier new;"> 4* from dual<br /><br /></span><span style="font-family: courier new;">SQL> /</span><br /><br /><span style="font-family: courier new;">TESTOUTPUT</span><br /><span style="font-family: courier new;">----------------------------------------------------------------------------</span><br /><span style="font-family: courier new;">it's sunday night 09:17 PM. I am testing single quoting ("'") in Oracle</span></blockquote><span style="font-family: courier new;"></span></span><br /><br />No more messy escaping quotes.. Neat!! (and am I the only one to catch up with this 10g feature this late? Better late than never!!:))Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-69759289136437210532007-08-16T08:01:00.000-07:002007-08-16T08:07:05.168-07:00Pivot or Unpivot? no big deal from 11gpivoting and unpivoting resultsets - a kids game from 11g onwards<br /><br />you dont need to be a sql guru to figure out how to transform rows into columns and vice versa.<br /><br /><span style="font-family:times new roman;">here comes PIVOT and UNPIVOT clause of 11g.</span><br /><br /><span style="font-family:times new roman;">I dont think I need to explain more..the below text is straight copy & paste from documentation.</span><br /><br /><p style="font-family:georgia;"><span class="subhead3">Using PIVOT and UNPIVOT: Examples<a id="sthref9971" name="sthref9971"></a><a id="sthref9972" name="sthref9972"></a> </span><br /></p><p style="font-family: georgia;">The <code>oe.orders</code> table contains information about when an order was placed (<code>order_date</code>), how it was place (<code>order_mode</code>), and the total amount of the order (<code>order_total</code>), as well as other information. The following example shows how to use the <code>PIVOT</code> clause to pivot <code>order_mode</code> values into columns, aggregating <code>order_total</code> data in the process, to get yearly totals by order mode:</p> <pre space="preserve" class="oac_no_warn"><span style="color: rgb(0, 0, 153);">CREATE TABLE pivot_table AS</span><br /><span style="color: rgb(0, 0, 153);">SELECT * FROM</span><br /><span style="color: rgb(0, 0, 153);">(SELECT EXTRACT(YEAR FROM order_date) year, order_mode, order_total FROM orders)</span><br /><span style="color: rgb(0, 0, 153);">PIVOT</span><br /><span style="color: rgb(0, 0, 153);">(SUM(order_total) FOR order_mode IN ('direct' AS Store, 'online' AS Internet));</span><br /><br /><span style="color: rgb(0, 0, 153);">SELECT * FROM pivot_table ORDER BY year;</span><br /><br /><span style="color: rgb(0, 0, 153);"> YEAR STORE INTERNET</span><br /><span style="color: rgb(0, 0, 153);">---------- ---------- ----------</span><br /><span style="color: rgb(0, 0, 153);"> 1990 61655.7</span><br /><span style="color: rgb(0, 0, 153);"> 1996 5546.6</span><br /><span style="color: rgb(0, 0, 153);"> 1997 310</span><br /><span style="color: rgb(0, 0, 153);"> 1998 309929.8 100056.6</span><br /><span style="color: rgb(0, 0, 153);"> 1999 1274078.8 1271019.5</span><br /><span style="color: rgb(0, 0, 153);"> 2000 252108.3 393349.4</span><br /><br /><span style="color: rgb(0, 0, 153);">6 rows selected.</span><br /></pre> <p>The <code>UNPIVOT</code> clause lets you rotate specified columns so that the input column headings are output as values of one or more descriptor columns, and the input column values are output as values of one or more measures columns. The first query that follows shows that nulls are excluded by default. The second query shows that you can include nulls using the <code>INCLUDE</code> <code>NULLS</code> clause.</p> <pre space="preserve" class="oac_no_warn"><span style="color: rgb(0, 0, 153);">SELECT * FROM pivot_table</span><br /><span style="color: rgb(0, 0, 153);"> UNPIVOT (yearly_total FOR order_mode IN (store AS 'direct', internet AS 'online'))</span><br /><span style="color: rgb(0, 0, 153);"> ORDER BY year, order_mode;</span><br /><br /><span style="color: rgb(0, 0, 153);"> YEAR ORDER_ YEARLY_TOTAL</span><br /><span style="color: rgb(0, 0, 153);">---------- ------ ------------</span><br /><span style="color: rgb(0, 0, 153);"> 1990 direct 61655.7</span><br /><span style="color: rgb(0, 0, 153);"> 1996 direct 5546.6</span><br /><span style="color: rgb(0, 0, 153);"> 1997 direct 310</span><br /><span style="color: rgb(0, 0, 153);"> 1998 direct 309929.8</span><br /><span style="color: rgb(0, 0, 153);"> 1998 online 100056.6</span><br /><span style="color: rgb(0, 0, 153);"> 1999 direct 1274078.8</span><br /><span style="color: rgb(0, 0, 153);"> 1999 online 1271019.5</span><br /><span style="color: rgb(0, 0, 153);"> 2000 direct 252108.3</span><br /><span style="color: rgb(0, 0, 153);"> 2000 online 393349.4</span><br /><span style="color: rgb(0, 0, 153);">9 rows selected.</span><br /><br /><span style="color: rgb(0, 0, 153);">SELECT * FROM pivot_table</span><br /><span style="color: rgb(0, 0, 153);"> UNPIVOT INCLUDE NULLS</span><br /><span style="color: rgb(0, 0, 153);"> (yearly_total FOR order_mode IN (store AS 'direct', internet AS 'online'))</span><br /><span style="color: rgb(0, 0, 153);"> ORDER BY year, order_mode;</span><br /><br /><span style="color: rgb(0, 0, 153);"> YEAR ORDER_ YEARLY_TOTAL</span><br /><span style="color: rgb(0, 0, 153);">---------- ------ ------------</span><br /><span style="color: rgb(0, 0, 153);"> 1990 direct 61655.7</span><br /><span style="color: rgb(0, 0, 153);"> 1990 online</span><br /><span style="color: rgb(0, 0, 153);"> 1996 direct 5546.6</span><br /><span style="color: rgb(0, 0, 153);"> 1996 online</span><br /><span style="color: rgb(0, 0, 153);"> 1997 direct 310</span><br /><span style="color: rgb(0, 0, 153);"> 1997 online</span><br /><span style="color: rgb(0, 0, 153);"> 1998 direct 309929.8</span><br /><span style="color: rgb(0, 0, 153);"> 1998 online 100056.6</span><br /><span style="color: rgb(0, 0, 153);"> 1999 direct 1274078.8</span><br /><span style="color: rgb(0, 0, 153);"> 1999 online 1271019.5</span><br /><span style="color: rgb(0, 0, 153);"> 2000 direct 252108.3</span><br /><span style="color: rgb(0, 0, 153);"> 2000 online 393349.4</span><br /><br /><span style="color: rgb(0, 0, 153);">12 rows selected.</span><br /></pre><br /><span style="font-weight: bold; color: rgb(0, 102, 0);">thats neat!!</span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com7tag:blogger.com,1999:blog-574785910411055456.post-76914057495856808082007-08-11T12:57:00.001-07:002007-08-11T13:11:12.620-07:0011g: One more to remember - CASE matters!!<span style="font-family:courier new;">until now , I always had the luxury of just remembering just my passwords and not its case. Because I think Oracle always took supplied password and apply some hashing function together with <span class="blsp-spelling-error" id="SPELLING_ERROR_0">userid</span> to generate a new <span class="blsp-spelling-error" id="SPELLING_ERROR_1">passcode</span> which is what gets stored under password column of <span class="blsp-spelling-error" id="SPELLING_ERROR_2">dba</span>_users or all_users.<br /><br />Starting from 11g, oracle passwords are going to be case-sensitive. So its going to take a while for people like me to remember "<span class="blsp-spelling-error" id="SPELLING_ERROR_3">OracleIsFun</span>" is different than "<span class="blsp-spelling-error" id="SPELLING_ERROR_4">oracleisFUN</span>".<br /><br />Another nice addition to Oracle 11g is new view called <span style="font-weight: bold;">users_with_<span class="blsp-spelling-error" id="SPELLING_ERROR_5">defpwd</span></span> (or something similar)..this view list all the users whose password is supplied default one (<span class="blsp-spelling-error" id="SPELLING_ERROR_6">scott</span>/tiger). Now, I can already see - this is going to be extremely easy for database auditors (<span class="blsp-spelling-error" id="SPELLING_ERROR_7">SOX</span> ,<span class="blsp-spelling-error" id="SPELLING_ERROR_8">HPAA</span> whatever else ) to list the such user accounts ..I remember creating a script for 9i before, where I have to built my own array of known <span class="blsp-spelling-error" id="SPELLING_ERROR_9">userid</span>+password combinations and then trying to connect for every single known combination.<br /><br />Oracle is really thinking ahead.<br /></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-56183010786396086872007-08-05T18:15:00.000-07:002007-08-05T18:32:45.459-07:00sequence of errors<span style="font-size:100%;"><span style="font-family:courier new;">I encountered this at one of my client's .. I usually get to see my inbox full of unread messages running for atleast 3 or 4 pages every time I get to check my account set up with this client because I usually get to read them only once in a week and one day I happened to see some mails with some ORA- error (4068 error to be exact) and that caught my attention.</span><br /><br /><span style="font-family:courier new;">what was happening was a few packages in Production were bombing with ORA-4068 error and there were back and forth emails between development and dba team on how to resolve it. The development team thought it was due to packages in INVALID state but they didnt know how does a package suddenly change the status to INVALID, they simply put the ball on DBA's court asking them to ensure & maintain the production objects with VALID status. </span><br /><span style="font-family:courier new;">DBA team responded back they had to do DDL changes but replied back saying it may be due to partition maintenance operations which was all coded by DEV team..Eventually they were about to agree on creating a database job to check invalid objects every 15 minutes and automatically compile them..</span><br /><br /><span style="font-family:courier new;">what surprised me at the time I read all this long email thread was that no one cared to really dig in what the real cause of the problem but was ready to throw in suggestions to whatever problems they thought was creating the issue.</span><br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;font-family:courier new;" ><br /><br /><br /><span style="font-style: italic;">ORA-04068: existing state of packages has been discarded</span></span><br /><span style="font-family:courier new;">is pretty simple and straight forward..clearly states your existing state of package has been discarded.. if you change a packag with global variables and some sessions has already stored the prev code, they had to flushed and reloaded because you changed the source code. Just simple as that..</span><br /><span style="font-family:courier new;"> I developed a test case and proved to DBAs and Development team that this can still happen if the status of packages are perfectly valid ..and actually the error was happening because the production releases were pushed in without bringing down client (web clients with connection pooling)..simply bringing down the clients before pushing new PLSQL code & then bringing up new connections would fix the issue without any single line of coding effort.</span><br /><br /><span style="font-family:courier new;">I didn't get any questions back from any team ..neither did I get any feedback on if they accepted my theory..but it was interesting that two teams were ready to solve an inexistent problem :)</span></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com2tag:blogger.com,1999:blog-574785910411055456.post-81566497834730168912007-07-29T10:54:00.001-07:002007-07-29T11:03:27.604-07:00invisible index<span style="font-family:courier new;"><blockquote>Havent blogged in a long while (thanks to my busy schedule and interesting projects assignments)..</blockquote><br /><br /></span><br /><span style="font-family:courier new;"><blockquote>anyway, just thought I would post about this really cool 11g feature...There are countless situations wherein a tuning specialist has to work straight in production environment. But you wont be allowed to create new indexes because thought it may make your current query/sql being analyzed to go faster, there is always a concern that it might affect the other existing queries and potentially generate a new plan which may be worse than the current plan. </blockquote><br /><br /></span><br /><span style="font-family:courier new;"><blockquote>11g introduces something called "invisible indexes" to solve this issue (only theoretical knowledge from what I have read..no idea on how to implement as I haven't gotten my hands on or haven't read docs yet).. Now basically what you do is create an invisible index..and this index would be considered by optimizer only when hinted..</blockquote></span><br /><br /><span style="font-family:courier new;"><blockquote>so until we fix the performance problem of say a single sql..we can simply have many invisible indexes to make the query go faster..and simply edit the statement to add a hint to use the new indexes and that wouldnt affect anything else which are running smooth in prod already..</blockquote></span><br /><br /><span style="font-family:courier new;">Cool & simple ..& I could see its use already :)</span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-31755858526306318702007-05-22T09:21:00.000-07:002007-05-22T10:23:51.202-07:00Keeping up with new features<span style="font-size:100%;"><span style="font-family: courier new;">if there is one thing hard with learning oracle , its catching up with its pace of releasing new features & functionalities.<br /><br />Recently I saw a plsql code some developer had written at a client place, to remove all unwanted characters from a varchar2 column and just to retain alphabets and numbers..<br /><br />I was quick to suggest a simple "translate" function would do the trick and PLSQL call can be totally avoided..I learnt about translate function when it was Oracle version 7.3 and I should consider lucky enough that its still there in database kernel, working the same way.<br /><br />here is a test table to demonstrate the functionality..<br /><br /><span style="color: rgb(0, 0, 153); font-weight: bold;font-size:85%;" ><blockquote>SQL> select * from ccs_test_trans ;<br /><br /> C1 C2<br />---------- ----------<br /> 1 12 34 560<br /> 2 abcdefgh<br /> 3 ABC#$%@(<br /> 4 *&^^!%%<br /> 5 12345678<br /> 6 a;p 27s<br /> 7 olka8762;;<br /><br />7 rows selected.</blockquote></span><br /><br /><br />Assume c2 is the column, which somehow has all extra characters (since varchar2 accepts everything) and needs little bit of cleansing work.<br /><br />this is how I would have used translate function..<br />logic is..use nested translate function..<br />1) first translate - capture all unwanted characters<br />2) second translate - removes them..leaving only the wanted characters intact.<br /><br />and then use a replace function to remove the extra spaces (since translate would have replaced all unwanted characters to space/any other character you specify)<br /><br /><span style="font-size:85%;"><span style="color: rgb(0, 0, 153); font-weight: bold;">SQL> ed<br />Wrote file afiedt.buf<br /><br /> 1 With v1 as<br /> 2 (select<br /> 3 'abcdefghijklmnopqrstuvwxyz'||<br /> 4 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'||<br /> 5 '0123456789' retain_chrs<br /> 6 from dual)<br /> 7 select c1,c2,<br /> 8 replace(translate( c2,<br /> 9 translate( c2,<br /> 10 retain_chrs,<br /> 11 lpad( '*', length(retain_chrs), '*' )<br /> 12 ),<br /> 13 ' ' ), ' ', '') as new_c2<br /> 14 from ccs_test_trans ,v1<br /><br />SQL> /<br /><br /> C1 C2 NEW_C2<br />---------- ---------- ----------<br /> 1 12 34 560 1234560<br /> 2 abcdefgh abcdefgh<br /> 3 ABC#$%@( ABC<br /> 4 *&^^!%%<br /> 5 12345678 12345678<br /> 6 a;p 27s ap27s<br /> 7 olka8762;; olka8762<br /><br />7 rows selected.</span><span style="color: rgb(0, 0, 153); font-weight: bold;"></span></span><br /><br /><br />Now coding that wasnt difficult</span></span><span style="font-size:100%;"><span style="font-family: courier new;">..but understanding or explaining that to anyone new certainly is..because they need to understand how translate works..<br /><br />but as shown above, it certainly works..and does the work needed..<br /><br />The question is..do we really need such a complicated query ..isnt there a simple way of solving the same?<br /><br />Lets see with 10g we have <span style="font-weight: bold;">regular expressions</span>..and Oracle allows all POSIX references in SQL. So all I want is to retain all characters which are either numbers or alphabets and remove the rest..<br /><br />:alnum -> denotes exactly the same ; either alphabets or numbers<br />REGEXP_REPLACE-> does the replace functionality<br /><span style="font-size:85%;"><br /></span></span></span><span style="color: rgb(0, 0, 153); font-weight: bold;font-size:85%;" ><span style="font-family: courier new;">SQL> ed<br />Wrote file afiedt.buf<br /><br /> 1 With v1 as<br /> 2 (select<br /> 3 'abcdefghijklmnopqrstuvwxyz'||<br /> 4 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'||<br /> 5 '0123456789' retain_chrs<br /> 6 from dual)<br /> 7 select c1,c2,<br /> 8 replace(translate( c2,<br /> 9 translate( c2,<br /> 10 retain_chrs,<br /> 11 lpad( '*', length(retain_chrs), '*' )<br /> 12 ),<br /> 13 ' ' ), ' ', '') as new_c2,<br /> 14 REGEXP_REPLACE( c2, '[^[:alnum:]]' , '') as RE_c2<br /> 15 from ccs_test_trans ,v1<br /><br />SQL> /<br />-- results<br /><br /> C1 C2 NEW_C2 RE_C2<br />---------- ---------- ---------- ----------<br /> 1 12 34 560 1234560 1234560<br /> 2 abcdefgh abcdefgh abcdefgh<br /> 3 ABC#$%@( ABC ABC<br /> 4 *&^^!%%<br /> 5 12345678 12345678 12345678<br /> 6 a;p 27s ap27s ap27s<br /> 7 olka8762;; olka8762 olka8762<br /><br />7 rows selected.</span></span><span style="font-size:100%;"><span style="font-family: courier new;"><br /><blockquote><span style="font-size:85%;"><br /><span style="color: rgb(0, 0, 153);"></span><br /></span></blockquote>How cool and simple is that?<br /><br />Lets say I also want to allow comma and periods in the c2 column and they should be retained. (added two new rows with sample data to test)<br /><span style="font-size:85%;"><br /></span></span></span><span style="color: rgb(0, 0, 153);font-size:85%;" ><span style="font-family: courier new;">SQL> ed<br />Wrote file afiedt.buf<br /><br /> 1 With v1 as<br /> 2 (select<br /> 3 'abcdefghijklmnopqrstuvwxyz'||<br /> 4 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'||<br /> 5 '0123456789' ||<br /> 6 <span style="font-weight: bold;">',.' retain_chrs</span><br /> 7 from dual)<br /> 8 select c1,c2,<br /> 9 replace(translate( c2,<br /> 10 translate( c2,<br /> 11 retain_chrs,<br /> 12 lpad( '*', length(retain_chrs), '*' )<br /> 13 ),<br /> 14 ' ' ), ' ', '') as new_c2,<br /> 15 <span style="font-weight: bold;">REGEXP_REPLACE( c2, '[^[:alnum:]{,.}]' , '') as RE_c2</span><br /> 16 from ccs_test_trans ,v1<br /><br />SQL> /<br />-- results<br /><br /> C1 C2 NEW_C2 RE_C2<br />---------- ---------- ---------- ----------<br /> 1 12 34 560 1234560 1234560<br /> 2 abcdefgh abcdefgh abcdefgh<br /> 3 ABC#$%@( ABC ABC<br /> 4 *&^^!%%<br /> 5 12345678 12345678 12345678<br /> 6 a;p 27s ap27s ap27s<br /> 7 olka8762;; olka8762 olka8762<br /> 8 12,34,56.0 12,34,56.0 12,34,56.0<br /> 9 abc, def.g abc,def.g abc,def.g<br /><br />9 rows selected.</span></span><br /><span style="font-size:100%;"><span style="font-family: courier new;"><blockquote><span style="font-size:85%;"><br /><span style="color: rgb(0, 0, 153);"></span></span></blockquote><br />I havent dealt a lot with REGULAR expressions..but it certainly looks an interesting area..if NOT performance, atleast its worth a try - for its readability and flexibility for future modifications.<br />I am sure you would agree the following SQL reads way too easy that the previous one (using translate) and running for 10+ lines.<br /><br /></span></span><span style="color: rgb(0, 0, 153); font-weight: bold;font-size:100%;" ><span style="font-family: courier new;"><span style="font-size:85%;">SQL> select c1,c2,REGEXP_REPLACE( c2, '[^[:alnum:]{,.}]' , '') as RE_c2<br /> 2 from ccs_test_trans<br /> 3 /<br /><br /> C1 C2 RE_C2<br />---------- ---------- ----------<br /> 1 12 34 560 1234560<br /> 2 abcdefgh abcdefgh<br /> 3 ABC#$%@( ABC<br /> 4 *&^^!%%<br /> 5 12345678 12345678<br /> 6 a;p 27s ap27s<br /> 7 olka8762;; olka8762<br /> 8 12,34,56.0 12,34,56.0<br /> 9 abc, def.g abc,def.g<br /><br />9 rows selected.</span></span></span><br /><span style="font-size:100%;"><span style="font-family: courier new;"><br /><br /><blockquote style="color: rgb(0, 0, 153);"><span style="font-size:85%;"><br /></span></blockquote><br />Happy SQL-ing until next..<br /><br /><br /><br /><br /><br /></span></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com0tag:blogger.com,1999:blog-574785910411055456.post-87436558294384737202007-05-13T22:29:00.000-07:002007-05-13T22:47:53.450-07:00ANSI & ORACLE MV - still a long way to go..<span style="font-family: courier new;"><span style="font-size:100%;">Anything new is always interesting and so is the my current project at a client place - which is sort of hybrid between Transactional and reporting system. Thanks to this project, I got a break from traditional TUNING tasks and am over-working on catching up with datawarehousing (DW) techniques & implementing them.<br /><br />Here is something interesting what I figured last week (thanks to a question from client's dev team)..<br /><br />-- Create 3 tables with 10 rows each<br />-- & add Primary keys<br /><br /><span style="color: rgb(102, 51, 255);">SQL> Create table test_tb1 as</span><br /><span style="color: rgb(102, 51, 255);"> 2 select rownum c1, owner c2 from dba_objects where rownum<11</span><br /><span style="color: rgb(102, 51, 255);"> 3 /</span><br /><br /><span style="color: rgb(102, 51, 255);">Table created.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> alter table test_tb1 add (</span><br /><span style="color: rgb(102, 51, 255);"> 2 constraint test_tb1_pk primary key(c1)</span><br /><span style="color: rgb(102, 51, 255);"> 3 );</span><br /><br /><span style="color: rgb(102, 51, 255);">Table altered.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> Create table test_tb2 as</span><br /><span style="color: rgb(102, 51, 255);"> 2 select rownum c1, object_name c2 from dba_objects where rownum<11</span><br /><span style="color: rgb(102, 51, 255);"> 3 /</span><br /><br /><span style="color: rgb(102, 51, 255);">Table created.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> alter table test_tb2 add (</span><br /><span style="color: rgb(102, 51, 255);"> 2 constraint test_tb2_pk primary key(c1)</span><br /><span style="color: rgb(102, 51, 255);"> 3 );</span><br /><br /><span style="color: rgb(102, 51, 255);">Table altered.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> Create table test_tb3 as</span><br /><span style="color: rgb(102, 51, 255);"> 2 select rownum c1, object_type c2,created from dba_objects where rownum<11</span><br /><span style="color: rgb(102, 51, 255);"> 3 /</span><br /><br /><span style="color: rgb(102, 51, 255);">Table created.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> alter table test_tb3 add (</span><br /><span style="color: rgb(102, 51, 255);"> 2 constraint test_tb3_pk primary key(c1)</span><br /><span style="color: rgb(102, 51, 255);"> 3 )</span><br /><span style="color: rgb(102, 51, 255);"> 4 /</span><br /><br /><span style="color: rgb(102, 51, 255);">Table altered.<br /><br /></span></span></span><span style="font-family: courier new;"><span style="font-size:100%;">-- this exercise is about MATERIALIZED VIEWS..so to have FAST REFRESHING (aka incremental refreshing) Materialized view implemented , we should first have MV LOG created on base tables.<br /><br />--So here we create them</span></span><br /><span style="font-family: courier new;"><span style="font-size:100%;"><span style="color: rgb(102, 51, 255);"></span><br /><span style="color: rgb(102, 51, 255);">SQL> ed</span><br /><span style="color: rgb(102, 51, 255);">Wrote file afiedt.buf</span><br /><br /><span style="color: rgb(102, 51, 255);"> 1 Create materialized view log on test_tb1</span><br /><span style="color: rgb(102, 51, 255);"> 2 with primary key,ROWID,sequence</span><br /><span style="color: rgb(102, 51, 255);"> 3* (c2) including new values</span><br /><span style="color: rgb(102, 51, 255);">SQL> /</span><br /><br /><span style="color: rgb(102, 51, 255);">Materialized view log created.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> ed</span><br /><span style="color: rgb(102, 51, 255);">Wrote file afiedt.buf</span><br /><br /><span style="color: rgb(102, 51, 255);"> 1 Create materialized view log on test_tb2</span><br /><span style="color: rgb(102, 51, 255);"> 2 with primary key,ROWID,sequence</span><br /><span style="color: rgb(102, 51, 255);"> 3* (c2) including new values</span><br /><span style="color: rgb(102, 51, 255);">SQL> /</span><br /><br /><span style="color: rgb(102, 51, 255);">Materialized view log created.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> ed</span><br /><span style="color: rgb(102, 51, 255);">Wrote file afiedt.buf</span><br /><br /><span style="color: rgb(102, 51, 255);"> 1 Create materialized view log on test_tb3</span><br /><span style="color: rgb(102, 51, 255);"> 2 with primary key,ROWID,sequence</span><br /><span style="color: rgb(102, 51, 255);"> 3* (c2,created) including new values</span><br /><span style="color: rgb(102, 51, 255);">SQL> /</span><br /><br /><span style="color: rgb(102, 51, 255);">Materialized view log created.</span><br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;">-- Now that we have base tables and MV logs ready, lets try creating a Materialized view..(using ANSI syntax)<br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;"><span style="color: rgb(102, 51, 255);">SQL> ed</span><br /><span style="color: rgb(102, 51, 255);">Wrote file afiedt.buf</span><br /><br /><span style="color: rgb(102, 51, 255);"> 1 Create materialized view test_mv1</span><br /><span style="color: rgb(102, 51, 255);"> 2 refresh fast on demand</span><br /><span style="color: rgb(102, 51, 255);"> 3 enable query rewrite</span><br /><span style="color: rgb(102, 51, 255);"> 4 as</span><br /><span style="color: rgb(102, 51, 255);"> 5 select t1.rowid t1_rowid</span><br /><span style="color: rgb(102, 51, 255);"> 6 , t2.rowid t2_rowid</span><br /><span style="color: rgb(102, 51, 255);"> 7 , t3.rowid t3_rowid</span><br /><span style="color: rgb(102, 51, 255);"> 8 , t1.c2 owner</span><br /><span style="color: rgb(102, 51, 255);"> 9 , t2.c2 name</span><br /><span style="color: rgb(102, 51, 255);"> 10 , t3.c2 objtype</span><br /><span style="color: rgb(102, 51, 255);"> 11 , t3.created</span><br /><span style="color: rgb(102, 51, 255);"> 12 from test_tb1 t1</span><br /><span style="color: rgb(102, 51, 255);"> 13 JOIN test_tb2 t2</span><br /><span style="color: rgb(102, 51, 255);"> 14 ON t1.c1 = t2.c1</span><br /><span style="color: rgb(102, 51, 255);"> 15 JOIN test_tb3 t3</span><br /><span style="color: rgb(102, 51, 255);"> 16* on t1.c1 = t3.c1</span><br /><span style="color: rgb(102, 51, 255);">SQL> /</span><br /><span style="color: rgb(102, 51, 255);">JOIN test_tb3 t3</span><br /><span style="color: rgb(102, 51, 255);"> *</span><br /><span style="color: rgb(102, 51, 255);">ERROR at line 15:</span><br /><span style="color: rgb(102, 51, 255);">ORA-12015: cannot create a fast refresh materialized view from a complex query</span><br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;">-- that fails ..because optimizer thinks its a complex query (I am not good as ANSI..and not sure if there is any way to rewrite within ANSI standard itself )..but the point is , I didnt expect that to be considered as complex query<br /><br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;">-- that was the problem reported from Dev team to me..and I just thought to test if it was ANSI SQL which was creating the problem. So here I rewrite the same SQL using traditional joins</span></span><br /><span style="font-family: courier new;"><span style="font-size:100%;"><br /><span style="color: rgb(102, 51, 255);">SQL> ed</span><br /><span style="color: rgb(102, 51, 255);">Wrote file afiedt.buf</span><br /><br /><span style="color: rgb(102, 51, 255);"> 1 Create materialized view test_mv1</span><br /><span style="color: rgb(102, 51, 255);"> 2 refresh fast on demand</span><br /><span style="color: rgb(102, 51, 255);"> 3 enable query rewrite</span><br /><span style="color: rgb(102, 51, 255);"> 4 as</span><br /><span style="color: rgb(102, 51, 255);"> 5 select t1.rowid t1_rowid</span><br /><span style="color: rgb(102, 51, 255);"> 6 , t2.rowid t2_rowid</span><br /><span style="color: rgb(102, 51, 255);"> 7 , t3.rowid t3_rowid</span><br /><span style="color: rgb(102, 51, 255);"> 8 , t1.c2 owner</span><br /><span style="color: rgb(102, 51, 255);"> 9 , t2.c2 name</span><br /><span style="color: rgb(102, 51, 255);"> 10 , t3.c2 objtype</span><br /><span style="color: rgb(102, 51, 255);"> 11 , t3.created</span><br /><span style="color: rgb(102, 51, 255);"> 12 from</span><br /><span style="color: rgb(102, 51, 255);"> 13 test_tb1 t1,</span><br /><span style="color: rgb(102, 51, 255);"> 14 test_tb2 t2,</span><br /><span style="color: rgb(102, 51, 255);"> 15 test_tb3 t3</span><br /><span style="color: rgb(102, 51, 255);"> 16 Where</span><br /><span style="color: rgb(102, 51, 255);"> 17 t1.c1 = t2.c1</span><br /><span style="color: rgb(102, 51, 255);"> 18* and t1.c1 = t3.c1</span><br /><span style="color: rgb(102, 51, 255);">SQL> /</span><br /><br /><span style="color: rgb(102, 51, 255);">Materialized view created.<br /><br /></span></span></span><span style="font-family: courier new;"><span style="font-size:100%;">-- WORKS!! Thats surprising..<br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;"><span style="color: rgb(102, 51, 255);"></span><br /><span style="color: rgb(102, 51, 255);">SQL> drop materialized view test_mv1;</span><br /><br /><span style="color: rgb(102, 51, 255);">Materialized view dropped.</span><br /><br /><span style="color: rgb(102, 51, 255);"></span></span></span><span style="font-family: courier new;"><span style="font-size:100%;">-- Lets try the same with outer joins too<br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;"><span style="color: rgb(102, 51, 255);">SQL> ed</span><br /><span style="color: rgb(102, 51, 255);">Wrote file afiedt.buf</span><br /><br /><span style="color: rgb(102, 51, 255);"> 1* drop materialized view test_mv1</span><br /><span style="color: rgb(102, 51, 255);">SQL> Create materialized view test_mv1</span><br /><span style="color: rgb(102, 51, 255);"> 2 refresh fast on demand</span><br /><span style="color: rgb(102, 51, 255);"> 3 enable query rewrite</span><br /><span style="color: rgb(102, 51, 255);"> 4 as</span><br /><span style="color: rgb(102, 51, 255);"> 5 select t1.rowid t1_rowid</span><br /><span style="color: rgb(102, 51, 255);"> 6 , t2.rowid t2_rowid</span><br /><span style="color: rgb(102, 51, 255);"> 7 , t3.rowid t3_rowid</span><br /><span style="color: rgb(102, 51, 255);"> 8 , t1.c2 owner</span><br /><span style="color: rgb(102, 51, 255);"> 9 , t2.c2 name</span><br /><span style="color: rgb(102, 51, 255);"> 10 , t3.c2 objtype</span><br /><span style="color: rgb(102, 51, 255);"> 11 , t3.created</span><br /><span style="color: rgb(102, 51, 255);"> 12 from</span><br /><span style="color: rgb(102, 51, 255);"> 13 test_tb1 t1,</span><br /><span style="color: rgb(102, 51, 255);"> 14 test_tb2 t2,</span><br /><span style="color: rgb(102, 51, 255);"> 15 test_tb3 t3</span><br /><span style="color: rgb(102, 51, 255);"> 16 Where</span><br /><span style="color: rgb(102, 51, 255);"> 17 t1.c1 = t2.c1</span><br /><span style="color: rgb(102, 51, 255);"> 18 and t1.c1 = t3.c1(+)</span><br /><span style="color: rgb(102, 51, 255);"> 19 /</span><br /><br /><span style="color: rgb(102, 51, 255);">Materialized view created.</span><br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;">-- Selecting from MV<br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;"><span style="color: rgb(102, 51, 255);">SQL> select rownum,owner,objtype from test_mv1;</span><br /><br /><span style="color: rgb(102, 51, 255);"> ROWNUM OWNER OBJTYPE</span><br /><span style="color: rgb(102, 51, 255);">---------- ------------------------------ -------------------</span><br /><span style="color: rgb(102, 51, 255);"> 1 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 2 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 3 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 4 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 5 SYS CLUSTER</span><br /><span style="color: rgb(102, 51, 255);"> 6 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 7 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 8 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 9 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 10 SYS INDEX</span><br /><br /><span style="color: rgb(102, 51, 255);">10 rows selected.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> select * from test_tb1;</span><br /><br /><span style="color: rgb(102, 51, 255);"> C1 C2</span><br /><span style="color: rgb(102, 51, 255);">---------- ------------------------------</span><br /><span style="color: rgb(102, 51, 255);"> 1 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 2 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 3 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 4 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 5 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 6 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 7 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 8 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 9 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 10 SYS</span><br /><br /><span style="color: rgb(102, 51, 255);">10 rows selected.</span><br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;">-- Testing MV functionality by adding more data to base tables and<br />-- seeing if MV works fine.<br /><br /></span></span><span style="font-family: courier new;"><span style="font-size:100%;"><span style="color: rgb(102, 51, 255);">SQL> insert into test_tb1 select 10+rownum c1 , 'NEW DATA' c2 from test_tb1</span><br /><span style="color: rgb(102, 51, 255);"> 2 /</span><br /><br /><span style="color: rgb(102, 51, 255);">10 rows created.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> select * from test_tb1;</span><br /><br /><span style="color: rgb(102, 51, 255);"> C1 C2</span><br /><span style="color: rgb(102, 51, 255);">---------- ------------------------------</span><br /><span style="color: rgb(102, 51, 255);"> 1 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 2 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 3 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 4 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 5 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 6 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 7 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 8 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 9 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 10 SYS</span><br /><span style="color: rgb(102, 51, 255);"> 11 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 12 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 13 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 14 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 15 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 16 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 17 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 18 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 19 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 20 NEW DATA</span><br /><br /><span style="color: rgb(102, 51, 255);">20 rows selected.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> commit;</span><br /><br /><span style="color: rgb(102, 51, 255);">Commit complete.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> select rownum,owner,objtype from test_mv1;</span><br /><br /><span style="color: rgb(102, 51, 255);"> ROWNUM OWNER OBJTYPE</span><br /><span style="color: rgb(102, 51, 255);">---------- ------------------------------ -------------------</span><br /><span style="color: rgb(102, 51, 255);"> 1 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 2 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 3 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 4 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 5 SYS CLUSTER</span><br /><span style="color: rgb(102, 51, 255);"> 6 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 7 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 8 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 9 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 10 SYS INDEX</span><br /><br /><span style="color: rgb(102, 51, 255);">10 rows selected.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> begin</span><br /><span style="color: rgb(102, 51, 255);"> 2 dbms_mview.refresh(list=>'TEST_MV1',METHOD=>'f');</span><br /><span style="color: rgb(102, 51, 255);"> 3 end;</span><br /><span style="color: rgb(102, 51, 255);"> 4 /</span><br /><br /><span style="color: rgb(102, 51, 255);">PL/SQL procedure successfully completed.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> select rownum,owner,objtype from test_mv1;</span><br /><br /><span style="color: rgb(102, 51, 255);"> ROWNUM OWNER OBJTYPE</span><br /><span style="color: rgb(102, 51, 255);">---------- ------------------------------ -------------------</span><br /><span style="color: rgb(102, 51, 255);"> 1 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 2 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 3 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 4 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 5 SYS CLUSTER</span><br /><span style="color: rgb(102, 51, 255);"> 6 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 7 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 8 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 9 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 10 SYS INDEX</span><br /><br /><span style="color: rgb(102, 51, 255);">10 rows selected.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> insert into test_tb2 select 10+rownum c1, 'New data' c2 from test_tb2</span><br /><span style="color: rgb(102, 51, 255);"> 2 /</span><br /><br /><span style="color: rgb(102, 51, 255);">10 rows created.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> select * from test_tb2;</span><br /><br /><span style="color: rgb(102, 51, 255);"> C1 C2</span><br /><span style="color: rgb(102, 51, 255);">---------- -------------------------</span><br /><span style="color: rgb(102, 51, 255);"> 1 ICOL$</span><br /><span style="color: rgb(102, 51, 255);"> 2 I_USER1</span><br /><span style="color: rgb(102, 51, 255);"> 3 CON$</span><br /><span style="color: rgb(102, 51, 255);"> 4 UNDO$</span><br /><span style="color: rgb(102, 51, 255);"> 5 C_COBJ#</span><br /><span style="color: rgb(102, 51, 255);"> 6 I_OBJ#</span><br /><span style="color: rgb(102, 51, 255);"> 7 PROXY_ROLE_DATA$</span><br /><span style="color: rgb(102, 51, 255);"> 8 I_IND1</span><br /><span style="color: rgb(102, 51, 255);"> 9 I_CDEF2</span><br /><span style="color: rgb(102, 51, 255);"> 10 I_PROXY_ROLE_DATA$_1</span><br /><span style="color: rgb(102, 51, 255);"> 11 New data</span><br /><span style="color: rgb(102, 51, 255);"> 12 New data</span><br /><span style="color: rgb(102, 51, 255);"> 13 New data</span><br /><span style="color: rgb(102, 51, 255);"> 14 New data</span><br /><span style="color: rgb(102, 51, 255);"> 15 New data</span><br /><span style="color: rgb(102, 51, 255);"> 16 New data</span><br /><span style="color: rgb(102, 51, 255);"> 17 New data</span><br /><span style="color: rgb(102, 51, 255);"> 18 New data</span><br /><span style="color: rgb(102, 51, 255);"> 19 New data</span><br /><span style="color: rgb(102, 51, 255);"> 20 New data</span><br /><br /><span style="color: rgb(102, 51, 255);">20 rows selected.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> commit;</span><br /><br /><span style="color: rgb(102, 51, 255);">Commit complete.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> begin</span><br /><span style="color: rgb(102, 51, 255);"> 2 dbms_mview.refresh(list=>'TEST_MV1',METHOD=>'f');</span><br /><span style="color: rgb(102, 51, 255);"> 3 end;</span><br /><span style="color: rgb(102, 51, 255);"> 4 /</span><br /><br /><span style="color: rgb(102, 51, 255);">PL/SQL procedure successfully completed.</span><br /><br /><span style="color: rgb(102, 51, 255);">SQL> select rownum,owner,objtype from test_mv1;</span><br /><br /><span style="color: rgb(102, 51, 255);"> ROWNUM OWNER OBJTYPE</span><br /><span style="color: rgb(102, 51, 255);">---------- ------------------------------ -------------------</span><br /><span style="color: rgb(102, 51, 255);"> 1 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 2 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 3 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 4 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 5 SYS CLUSTER</span><br /><span style="color: rgb(102, 51, 255);"> 6 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 7 SYS TABLE</span><br /><span style="color: rgb(102, 51, 255);"> 8 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 9 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 10 SYS INDEX</span><br /><span style="color: rgb(102, 51, 255);"> 11 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 12 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 13 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 14 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 15 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 16 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 17 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 18 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 19 NEW DATA</span><br /><span style="color: rgb(102, 51, 255);"> 20 NEW DATA</span><br /><br /><span style="color: rgb(102, 51, 255);">20 rows selected.</span><br /><br /><br />-- works fine!!!<br /><br />Moral: Though ANSI standard has been introduced in Oracle since 9.1 version, its always better to check back to traditional join syntax when sometimes you get unexpected error with sql/optimizer.<br /><br /><br /><br /></span><br /><br /></span>Venkathttp://www.blogger.com/profile/01813439023568456443noreply@blogger.com6