dbo.QBM_PSQLCreate
Stored ProcedureSQL_STORED_PROCEDURESandbox DB
Interpretation
- Database routine. Review parameters, called procedures, DBQueue inserts, and QBM_PJobCreate helper calls before assuming side effects.
Relations
- No extracted relations.
Typed Edges
- references source dbo.QBM_FGIDBOwner source text reference
- references source dbo.QBM_FSQRemoveComment source text reference
- references source dbo.QBM_FSQRemoveComment_i source text reference
- references source dbo.QBM_PExecuteSQLWithRetry_LLP source text reference
- references source dbo.QBM_PFunctionDrop source text reference
- references source dbo.QBM_PJournal source text reference
- references source dbo.QBM_PProcedureDrop source text reference
- references source dbo.QBM_PSessionErrorAdd source text reference
- references source dbo.QBM_PTriggerDrop source text reference
- references source dbo.QBM_PViewDrop source text reference
- references source dbo.QBM_TUIndicator474488 source text reference
References
- dbo.QBM_FGIDBOwner
- dbo.QBM_FSQRemoveComment
- dbo.QBM_FSQRemoveComment_i
- dbo.QBM_PExecuteSQLWithRetry_LLP
- dbo.QBM_PFunctionDrop
- dbo.QBM_PJournal
- dbo.QBM_PProcedureDrop
- dbo.QBM_PSessionErrorAdd
- dbo.QBM_PTriggerDrop
- dbo.QBM_PViewDrop
- dbo.QBM_TUIndicator474488
Referenced By
- dbo.ATT_ZAttHelperFillMakeProc
- dbo.CPL_PComplianceCheckMakeProc_h
- dbo.DPR_PTriggerCreateMembership
- dbo.POL_PQERPolicyMakeProc
- dbo.QBM_PCustomSQLPropagate
- dbo.QBM_PDashBoardDefine
- dbo.QBM_PSlotResetOnMissingItem_L
- dbo.QBM_PTriggerWatchCreate
- dbo.QBM_PViewBuild_FromAddOn
- dbo.QBM_PViewBuildV_intern
- dbo.QER_PDynamicGroupMakeProc_hlp
- dbo.QER_PQERRiskIndexMakeProc
- dbo.QER_PSlotResetOnInvalidRoot_L
- dbo.QER_ZDynamicGroupMakeTrigger
- dbo.QER_ZPWODecisionRuleMakeProc
- dbo.QER_ZPWOHelperFillMakeProc
Complete Source
1CREATE PROCEDURE QBM_PSQLCreate(2 @ObjectName varchar(30),3 @ObjectType varchar(1),4 @ObjectCode nvarchar(max),5 @UnComment BIT = 1,6 @UnFormat BIT = 17)8AS9BEGIN10 DECLARE @DebugSwitch int = 011 DECLARE @DebugLevel char(1) = 'W'12 DECLARE @Message nvarchar(1000)13 DECLARE @MessageAppend nvarchar(100) = ' (' + @ObjectType + ') ' + @ObjectName14 DECLARE @ObjectCodeIntern nvarchar(max)15 SET XACT_ABORT OFF16 BEGIN TRY17 IF @UnComment = 1 AND dbo.QBM_FGIDBOwner() = 'CCC'18 BEGIN19 SELECT20 @ObjectCode = dbo.QBM_FSQRemoveComment_i(@ObjectCode,21 @UnFormat)22 IF @DebugSwitch > 023 BEGIN24 print substring(@objectCode,25 1,26 4000) print substring(@objectCode,27 4000,28 4000) print substring(@objectCode,29 8000,30 4000) print substring(@objectCode,31 12000,32 4000) print substring(@objectCode,33 16000,34 4000) print substring(@objectCode,35 20000,36 4000) print substring(@objectCode,37 24000,38 4000) print substring(@objectCode,39 28000,40 4000)41 END42 END43 SELECT @ObjectCodeIntern = @ObjectCode44 IF @ObjectType = 'P'45 BEGIN46 IF @DebugSwitch > 047 BEGIN48 IF EXISTS(49 SELECT TOP 1 150 FROM sys.procedures p51 WITH(readpast)52 WHERE53 p.name = @ObjectName)54 BEGIN55 SELECT @Message = 'Objekt zu löschen' + @MessageAppend56 END57 ELSE58 BEGIN59 SELECT @Message = 'Objekt nicht vorhanden' + @MessageAppend60 END61 EXEC QBM_PJournal @Message,62 @@PROCID,63 'D',64 @DebugLevel print @Message65 END66 IF @ObjectCodeIntern NOT LIKE 'create or alter%'67 BEGIN68 EXEC QBM_PProcedureDrop @ObjectName69 END70 GOTO CreateCode71 END72 IF @ObjectType = 'T'73 BEGIN74 IF @DebugSwitch > 075 BEGIN76 IF EXISTS(77 SELECT TOP 1 178 FROM sys.triggers p79 WITH(readpast)80 WHERE81 p.name = @ObjectName AND p.name != 'QBM_TUIndicator474488')82 BEGIN83 SELECT @Message = 'Objekt zu löschen' + @MessageAppend84 END85 ELSE86 BEGIN87 SELECT @Message = 'Objekt nicht vorhanden' + @MessageAppend88 END89 EXEC QBM_PJournal @Message,90 @@PROCID,91 'D',92 @DebugLevel print @Message93 END94 IF @ObjectCodeIntern NOT LIKE 'create or alter%'95 BEGIN96 EXEC QBM_PTriggerDrop @ObjectName97 END98 GOTO CreateCode99 END100 IF @ObjectType = 'F'101 BEGIN102 IF @DebugSwitch > 0103 BEGIN104 IF EXISTS(105 SELECT TOP 1 1106 FROM sys.objects p107 WITH(readpast)108 WHERE109 p.name = @ObjectName)110 BEGIN111 SELECT @Message = 'Objekt zu löschen' + @MessageAppend112 END113 ELSE114 BEGIN115 SELECT @Message = 'Objekt nicht vorhanden' + @MessageAppend116 END117 EXEC QBM_PJournal @Message,118 @@PROCID,119 'D',120 @DebugLevel print @Message121 END122 EXEC QBM_PFunctionDrop @ObjectName123 GOTO CreateCode124 END125 IF @ObjectType = 'V'126 BEGIN127 IF @DebugSwitch > 0128 BEGIN129 IF EXISTS(130 SELECT TOP 1 1131 FROM sys.objects p132 WITH(readpast)133 WHERE134 p.name = @ObjectName)135 BEGIN136 SELECT @Message = 'Objekt zu löschen' + @MessageAppend137 END138 ELSE139 BEGIN140 SELECT @Message = 'Objekt nicht vorhanden' + @MessageAppend141 END142 EXEC QBM_PJournal @Message,143 @@PROCID,144 'D',145 @DebugLevel print @Message146 END147 IF @ObjectCodeIntern NOT LIKE 'create or alter%'148 BEGIN149 EXEC QBM_PViewDrop @ObjectName150 END151 GOTO CreateCode152 END153 CreateCode:154 IF @ObjectCodeIntern > ' '155 BEGIN156 EXEC QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @ObjectCodeIntern,157 @LockTimeout_ms = DEFAULT,158 @MaxWaitTimeForLock_s = DEFAULT,159 @ProcIDForJournal = DEFAULT,160 @HandleErrorSilent = 0,161 @ExecuteWithTransact = 0162 IF @DebugSwitch > 0163 BEGIN164 SELECT @Message = 'Objekt angelegt' + @MessageAppend165 EXEC QBM_PJournal @Message,166 @@PROCID,167 'D',168 @DebugLevel169 END170 END171 END TRY172 BEGIN CATCH173 EXEC QBM_PSessionErrorAdd DEFAULT174 RAISERROR('',175 18,176 1)177 WITH NOWAIT178 END CATCH179 endLabel:180 RETURN181END
Open raw exported source
1 create procedure QBM_PSQLCreate (@ObjectName varchar(30) , @ObjectType varchar(1) , @ObjectCode nvarchar(max) , @UnComment bit = 1 , @UnFormat2 bit = 1 ) as begin declare @DebugSwitch int = 0 declare @DebugLevel char(1) = 'W' declare @Message nvarchar(1000) declare @MessageAppend nvarchar(100)3 = ' (' + @ObjectType + ') ' + @ObjectName declare @ObjectCodeIntern nvarchar(max) SET XACT_ABORT OFF BEGIN TRY if @UnComment = 1 and dbo.QBM_FGIDBOwner4() = 'CCC' begin select @ObjectCode = dbo.QBM_FSQRemoveComment_i(@ObjectCode, @UnFormat) if @DebugSwitch > 0 begin print substring(@objectCode, 1, 40005) print substring(@objectCode, 4000, 4000) print substring(@objectCode, 8000, 4000) print substring(@objectCode, 12000, 4000) print substring(@objectCode6, 16000, 4000) print substring(@objectCode, 20000, 4000) print substring(@objectCode, 24000, 4000) print substring(@objectCode, 28000, 4000) end end 7 select @ObjectCodeIntern = @ObjectCode if @ObjectType = 'P' begin if @DebugSwitch > 0 begin if exists (select top 1 1 from sys.procedures p with 8(readpast) where p.name = @ObjectName ) begin select @Message = 'Objekt zu löschen' + @MessageAppend end else begin select @Message = 'Objekt nicht vorhanden'9 + @MessageAppend end exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel print @Message end if @ObjectCodeIntern not like 'create or alter%' begin 10exec QBM_PProcedureDrop @ObjectName end goto CreateCode end if @ObjectType = 'T' begin if @DebugSwitch > 0 begin if exists (select top 1 1 from sys.triggers11 p with (readpast) where p.name = @ObjectName and p.name != 'QBM_TUIndicator474488' ) begin select @Message = 'Objekt zu löschen' + @MessageAppend end 12else begin select @Message = 'Objekt nicht vorhanden' + @MessageAppend end exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel print @Message end if13 @ObjectCodeIntern not like 'create or alter%' begin exec QBM_PTriggerDrop @ObjectName end goto CreateCode end if @ObjectType = 'F' begin if @DebugSwitch14 > 0 begin if exists (select top 1 1 from sys.objects p with (readpast) where p.name = @ObjectName ) begin select @Message = 'Objekt zu löschen' + @MessageAppend15 end else begin select @Message = 'Objekt nicht vorhanden' + @MessageAppend end exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel print @Message end16 exec QBM_PFunctionDrop @ObjectName goto CreateCode end if @ObjectType = 'V' begin if @DebugSwitch > 0 begin if exists (select top 1 1 from sys.objects17 p with (readpast) where p.name = @ObjectName ) begin select @Message = 'Objekt zu löschen' + @MessageAppend end else begin select @Message = 'Objekt nicht vorhanden'18 + @MessageAppend end exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel print @Message end if @ObjectCodeIntern not like 'create or alter%' begin 19exec QBM_PViewDrop @ObjectName end goto CreateCode end CreateCode: if @ObjectCodeIntern > ' ' begin exec QBM_PExecuteSQLWithRetry_LLP @SQLStatement = @ObjectCodeIntern20 , @LockTimeout_ms = default , @MaxWaitTimeForLock_s = default , @ProcIDForJournal = default , @HandleErrorSilent = 0 , @ExecuteWithTransact = 0 if @DebugSwitch21 > 0 begin select @Message = 'Objekt angelegt' + @MessageAppend exec QBM_PJournal @Message, @@PROCID, 'D', @DebugLevel end end END TRY BEGIN CATCH exec22 QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH endLabel: return end 23