dbo.QBM_TUDialogColumn
SQL_TRIGGER parent DialogColumn
Created 2025-06-27T18:01:00.830 · modified 2026-04-14T23:23:08.037 · source: live DB sys.objects/sys.sql_expression_dependencies.
Parameters
| Name | Type | Output |
|---|---|---|
| No parameters. | ||
Referenced objects
| Schema | Object | Column/minor | Class |
|---|---|---|---|
| deleted | OBJECT_OR_COLUMN | ||
| dialogColumn | OBJECT_OR_COLUMN | ||
| dialogtable | OBJECT_OR_COLUMN | ||
| inserted | OBJECT_OR_COLUMN | ||
| QBM_PDBQueueInsert_Bulk | OBJECT_OR_COLUMN | ||
| QBM_PPrePropCheckSyntax | OBJECT_OR_COLUMN | ||
| QBM_PSessionErrorAdd | OBJECT_OR_COLUMN | ||
| QBM_VQBMRelationALL | OBJECT_OR_COLUMN | ||
| QBM_YDBQueueRaw | TYPE | ||
| QBM_YParameterList | TYPE | ||
| QBMSplittedLookup | OBJECT_OR_COLUMN | ||
| dbo | QBM_FGISessionContext | OBJECT_OR_COLUMN | |
| dbo | QBM_FGITableName | OBJECT_OR_COLUMN |
Source excerpt
First extracted SQL definition lines from the exported source. Use the full source page for complete context.
1 create trigger QBM_TUDialogColumn on DialogColumn for Update not for Replication as begin declare @ConditionsToCheck QBM_YParameterList 2 declare @XUser nvarchar(64) = object_name(@@procid) declare @Xdate datetime = getutcdate() BEGIN TRY if exists (select top 1 1 from inserted) goto start 3 if exists (select top 1 1 from deleted) goto start return start: declare @GenProcID varchar(38) select @GenProcID = dbo.QBM_FGISessionContext('') if 4 update(isDynamicFK) begin if exists (select top 1 1 from dialogColumn c join deleted d on c.uid_DialogColumn = d.uid_dialogcolumn join dialogtable t on 5 c.uid_dialogtable = t.uid_dialogtable join (select 'WatchOperation' as TableName, 'ObjectKey' as Columnname union all select 'QBMTaggedChange', 'ObjectKey' 6 union all select 'DialogTaggedItem', 'ObjectKey' union all select 'DialogWatchOperation', 'ObjectKeyOfRow' ) as x on x.TableName = t.TableName and x.columnname 7 = c.columnname where c.isDynamicFK = 1 ) begin RAISERROR( '#LDS#Cannot set property isDynamicFK to true in this column|' , 18, 2) WITH NOWAIT end end 8 if update(preprocessorcondition) begin if exists (select top 1 1 from dialogcolumn c join deleted d on c.uid_dialogColumn = d.uid_dialogcolumn and 9 isnull(c.preprocessorcondition,N'') > ' ' and isnull(d.preprocessorcondition,N'') = N'' join DialogTable t on c.UID_DialogTable = t.UID_DialogTable join 10 information_schema.columns sc on t.TableName = sc.table_name and c.columnname = sc.column_name and sc.IS_NULLABLE = 'No' ) begin raiserror('#LDS#Preprocessor conditions on columns without null are not allowed.|' 11 , 18,1) end end if update(preprocessorcondition) begin insert into @ConditionsToCheck (ContentFull) select i.PreProcessorCondition from inserted i exec 12 QBM_PPrePropCheckSyntax @ConditionsToCheck declare @DBQueueElements_01 QBM_YDBQueueRaw insert into @DBQueueElements_01 (object, subobject, genprocid) 13 select x.uid, null, @GenProcID from (select i.uid_dialogColumn as UID from DialogColumn i join deleted d on d.uid_dialogColumn = i.uid_dialogColumn and 14 isnull(d.PreprocessorCondition,N'') <> isnull(i.PreprocessorCondition,N'') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropColumn', @DBQueueElements_01 15 declare @DBQueueElements_02 QBM_YDBQueueRaw insert into @DBQueueElements_02 (object, subobject, genprocid) select dbo.QBM_FGITableName(x.uid), null, @GenProcID 16 from (select distinct i.UID_DialogTable as UID from DialogColumn i join deleted d on d.uid_dialogColumn = i.uid_dialogColumn and isnull(d.PreprocessorCondition 17,N'') <> isnull(i.PreprocessorCondition,N'') and isnull(i.ispkmember,0) = 1 ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-CommonPrepropTable', @DBQueueElements_02 18 end if update(IsOverwritingTemplate) or update(Template) or update(Format) or update(FormatScript) begin update dialogcolumn set IsTemplateChanged = 191 , XDateUpdated = @Xdate , XUserUpdated = @XUser where uid_dialogcolumn in (select uid_dialogcolumn from inserted) and isnull(IsTemplateChanged,0) = 0 20 end if update(SplittedLookupSupport) begin declare @DBQueueElements_03 QBM_YDBQueueRaw insert into @DBQueueElements_03 (object, subobject, genprocid 21) select x.uid, null, @GenProcID from (select c.UID_DialogColumn as UID from deleted d join DialogColumn c on d.UID_DialogColumn = c.UID_DialogColumn where 22 isnull(d.SplittedLookupSupport, '') <> isnull(c.SplittedLookupSupport, '') ) as x delete QBMSplittedLookup from QBMSplittedLookup s join @DBQueueElements_03 23 e on s.UID_DialogColumn = e.Object delete @DBQueueElements_03 from @DBQueueElements_03 e join DialogColumn c on c.UID_DialogColumn = e.Object where isnull 24(c.SplittedLookupSupport, '') = '' exec QBM_PDBQueueInsert_Bulk 'QBM-K-SplittedLookupFill', @DBQueueElements_03 end if update (IsDeactivatedByPreProcessor 25) or update (IsForeignKey) or update(IsDynamicFK) begin declare @DBQueueElements_36836 QBM_YDBQueueRaw insert into @DBQueueElements_36836(Object, SubObject 26, GenProcID) select x.uid, null, @GenProcID from ( select ra.UID_DialogTableParent as uid from deleted d join DialogColumn c on d.UID_DialogColumn = c.UID_DialogColumn 27 join QBM_VQBMRelationALL ra on c.UID_DialogTable = ra.UID_DialogTableChild where isnull(d.IsDeactivatedByPreProcessor, 0) <> isnull(c.IsDeactivatedByPreProcessor 28, 0) or isnull(d.IsForeignKey, '') <> isnull(c.IsForeignKey, '') or isnull(d.IsDynamicFK, '') <> isnull(c.IsDynamicFK, '') union select ra.UID_DialogTableChild 29 from deleted d join DialogColumn c on d.UID_DialogColumn = c.UID_DialogColumn join QBM_VQBMRelationALL ra on c.UID_DialogTable = ra.UID_DialogTableParent 30 where isnull(d.IsDeactivatedByPreProcessor, 0) <> isnull(c.IsDeactivatedByPreProcessor, 0) or isnull(d.IsForeignKey, '') <> isnull(c.IsForeignKey, '') 31 or isnull(d.IsDynamicFK, '') <> isnull(c.IsDynamicFK, '') union select c.UID_DialogTable from deleted d join DialogColumn c on d.UID_DialogColumn = c.UID_DialogColumn 32 where isnull(d.IsDeactivatedByPreProcessor, 0) <> isnull(c.IsDeactivatedByPreProcessor, 0) or isnull(d.IsForeignKey, '') <> isnull(c.IsForeignKey, '') 33 or isnull(d.IsDynamicFK, '') <> isnull(c.IsDynamicFK, '') ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-MissingDisplayRightFill', @DBQueueElements_36836 34 declare @DBQueueElements_478459 QBM_YDBQueueRaw insert into @DBQueueElements_478459 (object, subobject, genprocid) select x.uid, null, @GenProcID from 35 (select distinct t.TableName as UID from inserted i join DialogTable t on i.UID_DialogTable = t.UID_DialogTable ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-IndexCreateGenerated' 36, @DBQueueElements_478459 end END TRY BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH ende: return end 37
Module relation graph
Loading module relation graph…
Source-derived context
Generated from exported SQL module definitions plus read-only sandbox sys.objects/sys.parameters/sys.sql_expression_dependencies metadata. This is factual source evidence, not a semantic guess.
provenance: SQL definition export provenance: sandbox DB metadata modified: 2026-04-14T23:23:08.037
inserts DBQueue tasks uses session context values has TRY/CATCH error handling
Summary: calls QBM_PPrePropCheckSyntax, QBM_PDBQueueInsert_Bulk, QBM_PSessionErrorAdd; writes INSERT into, UPDATE not, UPDATE dialogcolumn, DELETE QBMSplittedLookup; reads/joins inserted, deleted, dialogColumn, dialogtable, dialogcolumn…
Declared parameters
No declared parameters in sys.parameters for this object, or metadata was not available.
DML targets
INSERT into UPDATE not UPDATE dialogcolumn DELETE QBMSplittedLookupRead/join references
SQL dependency metadata
Config/session
Config: None extracted.
Session: None extracted.
DBQueue/tasks
QBM-K-CommonPrepropColumn QBM-K-CommonPrepropTable QBM-K-SplittedLookupFill QBM-K-MissingDisplayRightFill QBM-K-IndexCreateGeneratedTemp tables / referenced variables
Temp: #LDS #Cannot #Preprocessor
Variables: @ConditionsToCheck @XUser @procid @Xdate @GenProcID @DBQueueElements_01 @DBQueueElements_02 @DBQueueElements_03 @DBQueueElements_36836 @DBQueueElements_478459
Referenced by / reverse dependencies
Generated from live DB metadata, FK rows, and exported SQL dependency/source extraction. This is factual linkage evidence, not inferred behavior.
No reverse dependencies extracted.