dbo.QBM_FSQFKCheckFix
Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB
Interpretation
- Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.
- Object-layer bridge detected through QBM_PJobCreate helper usage.
- DBQueue relation detected. Follow the task procedure and referenced-by list for async processing.
Relations
- References QBM_PJobCreate*
- References QBM_PDBQueueInsert_Bulk
Typed Edges
- references source dbo.QBM_FTParameter1AsInClause source text reference
- references source dbo.QBM_FCVBinaryToString source text reference
- references source dbo.QBM_FGIBitPatternXOrigin source text reference
- references source dbo.QBM_FGIColumnExists source text reference
- references source dbo.QBM_FGIColumnExistsInSchema source text reference
- references source dbo.QBM_FSQConstraintName source text reference
- references source dbo.QBM_PDBQueueInsert_Bulk source text reference
- references source dbo.QBM_PJobCreate source text reference
- references source dbo.QBM_PJobCreate_HODelete source text reference
- references source dbo.QBM_PJobCreate_HODelete_B source text reference
Complete Source
1CREATE FUNCTION dbo.QBM_FSQFKCheckFix(2 @UID_QBMRelation varchar(38),3 @FragmentType nvarchar(3),4 @Operation varchar(16)5) RETURNS nvarchar(max6)7AS8BEGIN9 DECLARE @muster nvarchar(max)10 DECLARE @erg nvarchar(max) = N ''11 DECLARE @ParentColumn nvarchar(64)12 DECLARE @ChildColumn nvarchar(64)13 DECLARE @ChildTable nvarchar(64)14 DECLARE @ConstraintName nvarchar(64)15 DECLARE @ParentTable nvarchar(64)16 DECLARE @ChildColumnName nvarchar(64)17 DECLARE @CannotInsertString nvarchar(max)18 IF @Operation = 'Insert'19 BEGIN20 SELECT21 @CannotInsertString = '#LDS#Cannot insert object in {2} because the associated object in {1} does not exist. Rule {0}. Invalid Value is {3}.|'22 END23 ELSE24 BEGIN25 SELECT26 @CannotInsertString = '#LDS#Cannot update object in {2} because the associated object in {1} does not exist. Rule {0}. Invalid Value is {3}.|'27 END28 SELECT29 TOP 1 @ChildTable = r.ChildTable,30 @ParentTable = r.ParentTable,31 @ParentColumn = r.ParentColumn,32 @ChildColumn = r.ChildColumn,33 @ChildColumnName = CASE34 WHEN isnull(c.ColumnName,35 '') = '' THEN36 ''37 ELSE CONCAT('(',38 LEFT(c.ColumnName, 64),39 ')')40 END41 FROM QBM_VQBMRelation r42 LEFT43 OUTER44 JOIN DialogColumn c45 ON r.UID_ChildColumn = c.UID_DialogColumn46 WHERE47 r.UID_QBMRelation = @UID_QBMRelation48 SELECT @ConstraintName = dbo.QBM_FSQConstraintName(@UID_QBMRelation)49 DECLARE @ColumnUpdatedThis nvarchar(max) = N ''50 DECLARE @joinInsertedChild nvarchar(max) = N ''51 DECLARE @joinInsertedParent nvarchar(max) = N ''52 DECLARE @joinDeletedChild nvarchar(max) = N ''53 DECLARE @SetInsertedFKNull nvarchar(max) = N ''54 DECLARE @setChildFKNull nvarchar(max) = N ''55 DECLARE @InsertedIsNotNull nvarchar(max) = N ''56 DECLARE @StringPatternPwo varchar(16)57 DECLARE @StringPatternPwoInv varchar(16)58 SELECT59 @StringPatternPwo = dbo.QBM_FCVBinaryToString(CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Pwo|',60 0)),61 0)62 SELECT63 @StringPatternPwoInv = dbo.QBM_FCVBinaryToString(CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Pwo|',64 1)),65 0)66 SELECT @ColumnUpdatedThis = N 'update(' + @ChildColumn + ')'67 SELECT68 @joinInsertedChild = N 'inserted.' + @childColumn + N ' = ' + @ChildTable + N '.' + @ChildColumn69 SELECT70 @joinInsertedParent = N 'inserted.' + @ChildColumn + N ' = ' + @ParentTable + N '.' + @ParentColumn71 SELECT72 @joinDeletedChild = N 'deleted.' + @parentColumn + N ' = ' + @ChildTable + N '.' + @ChildColumn73 SELECT @SetInsertedFKNull = @ChildTable + N '.' + @ChildColumn + N ' = null '74 SELECT @setChildFKNull = @ChildTable + N '.' + @ChildColumn + N ' = null '75 SELECT @InsertedIsNotNull = N 'inserted.' + @ChildColumn + N ' > '' '' '76 SELECT @muster = CASE @Fragmenttype77 WHEN 'DS' THEN78 '79 if %ColumnUpdatedThis%80 begin81 insert into @SimulationModeBuffer (operation, BaseObjectType, ColumnName, Objectkey, OldValue) 82 select ''U'', ''%ChildTable%'', ''%ChildColumn%'', deleted.XObjectKey , isnull(convert( nvarchar(255), deleted.%ChildColumn% ), N'''')83 from deleted84 where deleted.%ChildColumn% is not null85 and exists (select top 1 1 from inserted 86 where %ChildColumn% is null87 )88 end89'90 WHEN 'CDC' THEN91 'alter table %ChildTable% with nocheck add constraint %ConstraintName% foreign Key (%ChildColumn%) references %ParentTable% (%ParentColumn%) on delete cascade not for Replication'92 WHEN 'CDR' THEN93 'alter table %ChildTable% with nocheck add constraint %ConstraintName% foreign Key (%ChildColumn%) references %ParentTable% (%ParentColumn%) on delete no action not for Replication'94 WHEN 'CDS' THEN95 'alter table %ChildTable% with nocheck add constraint %ConstraintName% foreign Key (%ChildColumn%) references %ParentTable% (%ParentColumn%) on delete set null not for Replication'96 WHEN 'TIR' THEN97 CONCAT('98 -- Relation %ConstraintName% Parent %ParentTable% to Child %Childtable%%ChildColumnName% ON CHILD INSERT RESTRICT 99 if %ColumnUpdatedThis%100 begin101 select @InvalidValue = null102 select top 1 @InvalidValue = inserted.%ChildColumn%103 from inserted left outer join %ParentTable% t on inserted.'104 ,105 '%ChildColumn%',106 ' = t.',107 '%ParentColumn%',108 '109 where %InsertedIsNotNull%110 and t.',111 '%ParentColumn%',112 ' is null113114 if @InvalidValue > '' ''115 begin116 select @InvalidMessage = concat( ''',117 @CannotInsertString,118 '''119 , ''%ConstraintName%|'' 120 , ''%ParentTable%'' , ''|'' , ''%childTable%%ChildColumnName%'' , ''|'', @InvalidValue , ''|''121 ) --concat122 RAISERROR (@InvalidMessage, 18, 2) with nowait123 end124 end125'126 )127 WHEN 'TII' THEN128 CONCAT('129 -- Relation %ConstraintName% Parent %ParentTable% to Child %Childtable%%ChildColumnName% ON CHILD INSERT RESTRICT 130 select @InvalidValue = null131 select top 1 @InvalidValue = inserted.%ChildColumn%132 from inserted left outer join %ParentTable% t on inserted.'133 ,134 '%ChildColumn%',135 ' = t.',136 '%ParentColumn%',137 '138 where %InsertedIsNotNull%139 and t.',140 '%ParentColumn%',141 ' is null142143 if @InvalidValue > '' ''144 begin145 select @InvalidMessage = concat( ''',146 @CannotInsertString,147 '''148 , ''%ConstraintName%|'' 149 , ''%ParentTable%'' , ''|'' , ''%childTable%%ChildColumnName%'' , ''|'', @InvalidValue , ''|''150 ) --concat151 RAISERROR (@InvalidMessage, 18, 2) with nowait152 end153'154 )155 WHEN 'TIS' THEN156 '157-- Relation %ConstraintName% Parent %ParentTable% to Child %Childtable% ON CHILD INSERT SET NULL 158 if %ColumnUpdatedThis%159 begin160 if exists (select top 1 1 161 from %ChildTable%,inserted162 where163 %joinInsertedChild%164 and not exists (select top 1 1 from %ParentTable% where165 %JoinInsertedParent%166 )167 and inserted.%ChildColumn% > '' ''168 )169 begin 170 update %Childtable% set171 %SetInsertedFKNull%172 %ChildXFelder%173 from %ChildTable%,inserted174 where175 %joinInsertedChild%176 and not exists (select top 1 1 from %ParentTable% where177 %joinInsertedParent%178 )179 and inserted.%ChildColumn% > '' '' 180 end181 end182'183 WHEN 'TDC' THEN184 '185-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE 186 if exists (select top 1 1 187 from %ChildTable%,deleted188 where189 %JoinDeletedChild%190 )191 begin 192 delete %ChildTable%193 from %ChildTable%,deleted194 where195 %JoinDeletedChild%196 end 197'198 WHEN 'TDO' THEN199 '200-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE (modify XOrigin)201 if exists (select top 1 1 202 from %ChildTable%,deleted203 where204 %JoinDeletedChild%205 )206 begin 207208%ModQER% insert into @DBQueueElements(Object, SubObject, GenProcID)209%ModQER% select pwo.UID_PersonWantsOrg, null, @GenProcID210%ModQER% from PersonWantsOrg pwo join %ChildTable% on %ChildTable%.XObjectKey = pwo.ObjectKeyAssignment211%ModQER% join deleted on %JoinDeletedChild%212%ModQER% where %ChildTable%.XOrigin & '213 + @StringPatternPwo + ' = ' + @StringPatternPwo + '214%ModQER%215%ModQER% exec QBM_PDBQueueInsert_Bulk ''QER-K-ITSHOPOrder-ABORT'', @DBQueueElements216%ModQER%217 update %ChildTable% 218 '219 + ' Set XOrigin = 0220 %ChildXFelder%221 from %ChildTable%,deleted222 where223 %JoinDeletedChild%224 end 225'226 WHEN 'TDE' THEN227 '228-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE (modify XOrigin and XIsInEffect)229 if exists (select top 1 1 230 from %ChildTable%,deleted231 where232 %JoinDeletedChild%233 )234 begin 235%ModQER% insert into @DBQueueElements(Object, SubObject, GenProcID)236%ModQER% select pwo.UID_PersonWantsOrg, null, @GenProcID237%ModQER% from PersonWantsOrg pwo join %ChildTable% on %ChildTable%.XObjectKey = pwo.ObjectKeyAssignment238%ModQER% join deleted on %JoinDeletedChild%239%ModQER% where %ChildTable%.XOrigin & '240 + @StringPatternPwo + ' = ' + @StringPatternPwo + '241%ModQER%242%ModQER% exec QBM_PDBQueueInsert_Bulk ''QER-K-ITSHOPOrder-ABORT'', @DBQueueElements243%ModQER%244 update %ChildTable%245 '246 + ' Set XOrigin = 0247 , XIsInEffect = 0248 %ChildXFelder%249 from %ChildTable%,deleted250 where251 %JoinDeletedChild%252 end 253'254 WHEN 'TDX' THEN255 '256-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE 257-- executed later via Jobqueue258 delete /* 34049 */ @ElementsLater259 insert into @ElementsLater(Parameter1)260 select %parentcolumn%261 from deleted262263 DECLARE schritt_deleteLater CURSOR LOCAL FORWARD_ONLY FAST_FORWARD READ_ONLY FOR 264 select ''%childcolumn% in '' + e.CollectedLine265 from dbo.QBM_FTParameter1AsInClause(@ElementsLater) e266 OPEN schritt_deleteLater267 FETCH NEXT FROM schritt_deleteLater into @WorkWhere268 WHILE (@@fetch_status <> -1)269 BEGIN270271 exec QBM_PJobCreate_HODelete_B ''%childtable%'', @WorkWhere , @GenProcID272 , @AdditionalObjectKeysAffected = DEFAULT273274 FETCH NEXT FROM schritt_deleteLater INTO @WorkWhere275 END276 close schritt_deleteLater277 deallocate schritt_deleteLater278'279 WHEN 'TDR' THEN280 '281-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE RESTRICT 282 if exists (283 select top 1 1 from deleted,%Childtable%284 where285 %JoinDeletedChild%286 )287 begin288 RAISERROR(''#LDS#Cannot delete {1}, because {2} does exist. Rule {0}.|%ConstraintName%|%ParentTable%|%Childtable%%ChildColumnName%|'' , 18, 2) WITH NOWAIT289 end290'291 WHEN 'TDS' THEN292 '293-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE SET NULL 294 if exists (select top 1 1 295 from %ChildTable%,deleted296 where297 %JoinDeletedChild%298 )299 begin 300 update %ChildTable%301 set302 %SetChildFKNull%303 %ChildXFelder%304 from %ChildTable%,deleted305 where306 %JoinDeletedChild%307 end 308'309 ELSE ''310 END311 SELECT @erg = @muster312 SELECT313 @erg = replace(@erg,314 '%ChildTable%',315 @ChildTable)316 SELECT317 @erg = replace(@erg,318 '%ChildColumnName%',319 @ChildColumnName)320 SELECT321 @erg = replace(@erg,322 '%ConstraintName%',323 @ConstraintName)324 SELECT325 @erg = replace(@erg,326 '%ParentTable%',327 @ParentTable)328 SELECT329 @erg = replace(@erg,330 '%ChildColumn%',331 @ChildColumn)332 SELECT333 @erg = replace(@erg,334 '%ParentColumn%',335 @ParentColumn)336 SELECT337 @erg = replace(@erg,338 '%ColumnUpdatedThis%',339 @ColumnUpdatedThis)340 SELECT341 @erg = replace(@erg,342 '%joinInsertedChild%',343 @joinInsertedChild)344 SELECT345 @erg = replace(@erg,346 '%joinInsertedParent%',347 @joinInsertedParent)348 SELECT349 @erg = replace(@erg,350 '%joinDeletedChild%',351 @joinDeletedChild)352 SELECT353 @erg = replace(@erg,354 '%SetInsertedFKNull%',355 @SetInsertedFKNull)356 SELECT357 @erg = replace(@erg,358 '%setChildFKNull%',359 @setChildFKNull)360 SELECT361 @erg = replace(@erg,362 '%InsertedIsNotNull%',363 @InsertedIsNotNull)364 SELECT365 @erg = replace(@erg,366 '%ChildXFelder%',367 CASE368 WHEN dbo.QBM_FGIColumnExistsInSchema(@ChildTable, 'XDateUpdated') = 1 THEN369 ', XDateUpdated = @Xdate , XUserUpdated = @XUser '370 ELSE ''371 END) ende:372 RETURN(@erg)373END
Open raw exported source
1 create function dbo.QBM_FSQFKCheckFix (@UID_QBMRelation varchar(38), @FragmentType nvarchar(3) , @Operation varchar(16) ) returns nvarchar(max2) as begin declare @muster nvarchar(max) declare @erg nvarchar(max) = N'' declare @ParentColumn nvarchar(64) declare @ChildColumn nvarchar(64) declare 3@ChildTable nvarchar(64) declare @ConstraintName nvarchar(64) declare @ParentTable nvarchar(64) declare @ChildColumnName nvarchar(64) declare @CannotInsertString4 nvarchar(max) if @Operation = 'Insert' begin select @CannotInsertString = '#LDS#Cannot insert object in {2} because the associated object in {1} does not exist. Rule {0}. Invalid Value is {3}.|'5 end else begin select @CannotInsertString = '#LDS#Cannot update object in {2} because the associated object in {1} does not exist. Rule {0}. Invalid Value is {3}.|'6 end select top 1 @ChildTable = r.ChildTable , @ParentTable = r.ParentTable , @ParentColumn = r.ParentColumn , @ChildColumn = r.ChildColumn , @ChildColumnName7 = case when isnull(c.ColumnName, '') = '' then '' else concat('(', left(c.ColumnName, 64), ')') end from QBM_VQBMRelation r left outer join DialogColumn8 c on r.UID_ChildColumn = c.UID_DialogColumn where r.UID_QBMRelation = @UID_QBMRelation select @ConstraintName = dbo.QBM_FSQConstraintName (@UID_QBMRelation9) declare @ColumnUpdatedThis nvarchar(max) = N'' declare @joinInsertedChild nvarchar(max) = N'' declare @joinInsertedParent nvarchar(max)= N'' declare10 @joinDeletedChild nvarchar(max)= N'' declare @SetInsertedFKNull nvarchar(max)= N'' declare @setChildFKNull nvarchar(max)= N'' declare @InsertedIsNotNull11 nvarchar(max)= N'' declare @StringPatternPwo varchar(16) declare @StringPatternPwoInv varchar(16) select @StringPatternPwo = dbo.QBM_FCVBinaryToString12( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin('|Pwo|',0)), 0) select @StringPatternPwoInv = dbo.QBM_FCVBinaryToString( CONVERT(varbinary, dbo.QBM_FGIBitPatternXOrigin13('|Pwo|',1)), 0) select @ColumnUpdatedThis = N'update(' + @ChildColumn + ')' select @joinInsertedChild = N'inserted.' + @childColumn + N' = ' + @ChildTable14 + N'.' + @ChildColumn select @joinInsertedParent = N'inserted.' + @ChildColumn + N' = ' + @ParentTable + N'.' + @ParentColumn select @joinDeletedChild15 = N'deleted.' + @parentColumn + N' = ' + @ChildTable + N'.' + @ChildColumn select @SetInsertedFKNull = @ChildTable + N'.' + @ChildColumn + N' = null '16 select @setChildFKNull = @ChildTable + N'.' + @ChildColumn + N' = null ' select @InsertedIsNotNull = N'inserted.' + @ChildColumn + N' > '' '' ' select17 @muster = case @Fragmenttype when 'DS' then '18 if %ColumnUpdatedThis%19 begin20 insert into @SimulationModeBuffer (operation, BaseObjectType, ColumnName, Objectkey, OldValue) 21 select ''U'', ''%ChildTable%'', ''%ChildColumn%'', deleted.XObjectKey , isnull(convert( nvarchar(255), deleted.%ChildColumn% ), N'''')22 from deleted23 where deleted.%ChildColumn% is not null24 and exists (select top 1 1 from inserted 25 where %ChildColumn% is null26 )27 end28'29 when 'CDC' then 'alter table %ChildTable% with nocheck add constraint %ConstraintName% foreign Key (%ChildColumn%) references %ParentTable% (%ParentColumn%) on delete cascade not for Replication'30 when 'CDR' then 'alter table %ChildTable% with nocheck add constraint %ConstraintName% foreign Key (%ChildColumn%) references %ParentTable% (%ParentColumn%) on delete no action not for Replication'31 when 'CDS' then 'alter table %ChildTable% with nocheck add constraint %ConstraintName% foreign Key (%ChildColumn%) references %ParentTable% (%ParentColumn%) on delete set null not for Replication'32 when 'TIR' then concat('33 -- Relation %ConstraintName% Parent %ParentTable% to Child %Childtable%%ChildColumnName% ON CHILD INSERT RESTRICT 34 if %ColumnUpdatedThis%35 begin36 select @InvalidValue = null37 select top 1 @InvalidValue = inserted.%ChildColumn%38 from inserted left outer join %ParentTable% t on inserted.'39,'%ChildColumn%',' = t.', '%ParentColumn%' , '40 where %InsertedIsNotNull%41 and t.', '%ParentColumn%' , ' is null4243 if @InvalidValue > '' ''44 begin45 select @InvalidMessage = concat( '''46, @CannotInsertString, '''47 , ''%ConstraintName%|'' 48 , ''%ParentTable%'' , ''|'' , ''%childTable%%ChildColumnName%'' , ''|'', @InvalidValue , ''|''49 ) --concat50 RAISERROR (@InvalidMessage, 18, 2) with nowait51 end52 end53'54 ) when 'TII' then concat('55 -- Relation %ConstraintName% Parent %ParentTable% to Child %Childtable%%ChildColumnName% ON CHILD INSERT RESTRICT 56 select @InvalidValue = null57 select top 1 @InvalidValue = inserted.%ChildColumn%58 from inserted left outer join %ParentTable% t on inserted.'59,'%ChildColumn%',' = t.', '%ParentColumn%' , '60 where %InsertedIsNotNull%61 and t.', '%ParentColumn%' , ' is null6263 if @InvalidValue > '' ''64 begin65 select @InvalidMessage = concat( '''66, @CannotInsertString, '''67 , ''%ConstraintName%|'' 68 , ''%ParentTable%'' , ''|'' , ''%childTable%%ChildColumnName%'' , ''|'', @InvalidValue , ''|''69 ) --concat70 RAISERROR (@InvalidMessage, 18, 2) with nowait71 end72'73 ) when 'TIS' then '74-- Relation %ConstraintName% Parent %ParentTable% to Child %Childtable% ON CHILD INSERT SET NULL 75 if %ColumnUpdatedThis%76 begin77 if exists (select top 1 1 78 from %ChildTable%,inserted79 where80 %joinInsertedChild%81 and not exists (select top 1 1 from %ParentTable% where82 %JoinInsertedParent%83 )84 and inserted.%ChildColumn% > '' ''85 )86 begin 87 update %Childtable% set88 %SetInsertedFKNull%89 %ChildXFelder%90 from %ChildTable%,inserted91 where92 %joinInsertedChild%93 and not exists (select top 1 1 from %ParentTable% where94 %joinInsertedParent%95 )96 and inserted.%ChildColumn% > '' '' 97 end98 end99'100 when 'TDC' then '101-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE 102 if exists (select top 1 1 103 from %ChildTable%,deleted104 where105 %JoinDeletedChild%106 )107 begin 108 delete %ChildTable%109 from %ChildTable%,deleted110 where111 %JoinDeletedChild%112 end 113'114 when 'TDO' then '115-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE (modify XOrigin)116 if exists (select top 1 1 117 from %ChildTable%,deleted118 where119 %JoinDeletedChild%120 )121 begin 122123%ModQER% insert into @DBQueueElements(Object, SubObject, GenProcID)124%ModQER% select pwo.UID_PersonWantsOrg, null, @GenProcID125%ModQER% from PersonWantsOrg pwo join %ChildTable% on %ChildTable%.XObjectKey = pwo.ObjectKeyAssignment126%ModQER% join deleted on %JoinDeletedChild%127%ModQER% where %ChildTable%.XOrigin & '128 + @StringPatternPwo + ' = ' + @StringPatternPwo + '129%ModQER%130%ModQER% exec QBM_PDBQueueInsert_Bulk ''QER-K-ITSHOPOrder-ABORT'', @DBQueueElements131%ModQER%132 update %ChildTable% 133 '134 + ' Set XOrigin = 0135 %ChildXFelder%136 from %ChildTable%,deleted137 where138 %JoinDeletedChild%139 end 140' when 'TDE' then '141-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE (modify XOrigin and XIsInEffect)142 if exists (select top 1 1 143 from %ChildTable%,deleted144 where145 %JoinDeletedChild%146 )147 begin 148%ModQER% insert into @DBQueueElements(Object, SubObject, GenProcID)149%ModQER% select pwo.UID_PersonWantsOrg, null, @GenProcID150%ModQER% from PersonWantsOrg pwo join %ChildTable% on %ChildTable%.XObjectKey = pwo.ObjectKeyAssignment151%ModQER% join deleted on %JoinDeletedChild%152%ModQER% where %ChildTable%.XOrigin & '153 + @StringPatternPwo + ' = ' + @StringPatternPwo + '154%ModQER%155%ModQER% exec QBM_PDBQueueInsert_Bulk ''QER-K-ITSHOPOrder-ABORT'', @DBQueueElements156%ModQER%157 update %ChildTable%158 '159 + ' Set XOrigin = 0160 , XIsInEffect = 0161 %ChildXFelder%162 from %ChildTable%,deleted163 where164 %JoinDeletedChild%165 end 166' when 'TDX'167 then '168-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE CASCADE 169-- executed later via Jobqueue170 delete /* 34049 */ @ElementsLater171 insert into @ElementsLater(Parameter1)172 select %parentcolumn%173 from deleted174175 DECLARE schritt_deleteLater CURSOR LOCAL FORWARD_ONLY FAST_FORWARD READ_ONLY FOR 176 select ''%childcolumn% in '' + e.CollectedLine177 from dbo.QBM_FTParameter1AsInClause(@ElementsLater) e178 OPEN schritt_deleteLater179 FETCH NEXT FROM schritt_deleteLater into @WorkWhere180 WHILE (@@fetch_status <> -1)181 BEGIN182183 exec QBM_PJobCreate_HODelete_B ''%childtable%'', @WorkWhere , @GenProcID184 , @AdditionalObjectKeysAffected = DEFAULT185186 FETCH NEXT FROM schritt_deleteLater INTO @WorkWhere187 END188 close schritt_deleteLater189 deallocate schritt_deleteLater190'191 when 'TDR' then '192-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE RESTRICT 193 if exists (194 select top 1 1 from deleted,%Childtable%195 where196 %JoinDeletedChild%197 )198 begin199 RAISERROR(''#LDS#Cannot delete {1}, because {2} does exist. Rule {0}.|%ConstraintName%|%ParentTable%|%Childtable%%ChildColumnName%|'' , 18, 2) WITH NOWAIT200 end201'202 when 'TDS' then '203-- Relation %ConstraintName% Parent %ParentTable% to Child %ChildTable% ON PARENT DELETE SET NULL 204 if exists (select top 1 1 205 from %ChildTable%,deleted206 where207 %JoinDeletedChild%208 )209 begin 210 update %ChildTable%211 set212 %SetChildFKNull%213 %ChildXFelder%214 from %ChildTable%,deleted215 where216 %JoinDeletedChild%217 end 218'219 else '' end select @erg = @muster select @erg = replace(@erg, '%ChildTable%', @ChildTable) select @erg = replace(@erg, '%ChildColumnName%', @ChildColumnName220) select @erg = replace(@erg, '%ConstraintName%', @ConstraintName) select @erg = replace(@erg, '%ParentTable%', @ParentTable) select @erg = replace(@erg221, '%ChildColumn%', @ChildColumn) select @erg = replace(@erg, '%ParentColumn%', @ParentColumn) select @erg = replace(@erg, '%ColumnUpdatedThis%', @ColumnUpdatedThis222) select @erg = replace(@erg, '%joinInsertedChild%', @joinInsertedChild) select @erg = replace(@erg, '%joinInsertedParent%', @joinInsertedParent) select223 @erg = replace(@erg, '%joinDeletedChild%', @joinDeletedChild) select @erg = replace(@erg, '%SetInsertedFKNull%', @SetInsertedFKNull) select @erg = replace224(@erg, '%setChildFKNull%', @setChildFKNull) select @erg = replace(@erg, '%InsertedIsNotNull%', @InsertedIsNotNull) select @erg = replace(@erg, '%ChildXFelder%'225, case when dbo.QBM_FGIColumnExistsInSchema(@ChildTable, 'XDateUpdated') = 1 then ', XDateUpdated = @Xdate , XUserUpdated = @XUser ' else '' end ) ende:226 return(@erg) end 227