Back to OIM Explorer

dbo.QBM_FSQFKCheckFix

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function. References QBM_PJobCreate*; References QBM_PDBQueueInsert_Bulk

Source: sandbox-db sys.sql_modules

Source size: 10.873 characters

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

SQL373 lines
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
SQL ยท Raw227 lines
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