Back to OIM Explorer

dbo.QBM_FTJobQueueSetSameServer

Table FunctionSQL_TABLE_VALUED_FUNCTIONSandbox DB

Table Function.

Source: sandbox-db sys.sql_modules

Source size: 1.950 characters

Interpretation

  • Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.

Relations

  • No extracted relations.

Typed Edges

  • No typed edges extracted for this source.

References

  • No direct source references extracted.

Referenced By

Complete Source

SQL86 lines
1CREATE FUNCTION dbo.QBM_FTJobQueueSetSameServer(2  @UID_Job varchar(38)3) RETURNS @erg TABLE(UID_Job varchar(38) collate database_default,4UID_JobSameServerOld varchar(38) collate database_default,5UID_JobSameServerNew varchar(38) collate database_default,6UID_JobSuccess varchar(38) collate database_default,7UID_JobError varchar(38) collate database_default8)9  WITH schemabinding10AS11BEGIN12  DECLARE @UID_JobSameServerExists varchar(38)13  DECLARE @UID_Tree varchar(38)14  DECLARE @CountItems int15  IF isnull(@UID_Job,16  '') = ''17  BEGIN18    GOTO endLabel19  END20  SELECT21    TOP 1 @UID_JobSameServerExists = uid_jobsameserver,22    @UID_Tree = uid_tree23  FROM dbo.JobQueue24    WITH(nolock)25  WHERE26    uid_job = @UID_Job27  IF isnull(@UID_JobSameServerExists,28  '') = ''29  BEGIN30    GOTO endLabel31  END32  IF @UID_JobSameServerExists = @UID_Job33  BEGIN34    GOTO endLabel35  END36  INSERT INTO @erg(UID_Job,37  UID_JobSameServerOld,38  UID_JobSuccess,39  UID_JobError)40  SELECT41    q.UID_Job,42    q.UID_JobSameServer,43    q.UID_JobSuccess,44    q.UID_JobError45  FROM dbo.JobQueue q46    WITH(nolock)47  WHERE48    q.UID_Tree = @UID_Tree49  UPDATE @erg50  SET UID_JobSameServerNew = @UID_Job51  WHERE52    UID_Job = @UID_Job53  SELECT @CountItems = 154  WHILE @CountItems > 055  BEGIN56    UPDATE @erg57    SET UID_JobSameServerNew = @UID_Job58    FROM @erg t59    JOIN(60    SELECT m.UID_JobSuccess61    FROM @erg m62    WHERE63      m.UID_JobSameServerNew > ' ') AS s64      ON t.UID_Job = s.UID_JobSuccess65    WHERE66      t.UID_JobSameServerOld = @UID_JobSameServerExists AND t.UID_JobSameServerNew IS NULL67    SELECT @CountItems = @@rowcount68    UPDATE @erg69    SET UID_JobSameServerNew = @UID_Job70    FROM @erg t71    JOIN(72    SELECT m.UID_JobError73    FROM @erg m74    WHERE75      m.UID_JobSameServerNew > ' ') AS s76      ON t.UID_Job = s.UID_JobError77    WHERE78      t.UID_JobSameServerOld = @UID_JobSameServerExists AND t.UID_JobSameServerNew IS NULL79    SELECT @CountItems += @@rowcount80  END81  UPDATE @erg82  SET UID_JobSameServerNew = UID_Job83  WHERE84    UID_JobSameServerNew IS NULL AND UID_JobSameServerOld = @UID_JobSameServerExists endLabel:85  RETURN86END
Open raw exported source
SQL ยท Raw14 lines
1create function dbo.QBM_FTJobQueueSetSameServer (@UID_Job varchar(38) ) returns @erg table (UID_Job varchar(38) collate database_default , UID_JobSameServerOld2 varchar(38) collate database_default , UID_JobSameServerNew varchar(38) collate database_default , UID_JobSuccess varchar(38) collate database_default3 , UID_JobError varchar(38) collate database_default ) with schemabinding as begin  declare @UID_JobSameServerExists varchar(38) declare @UID_Tree varchar4(38) declare @CountItems int if isnull(@UID_Job, '') = '' begin goto endLabel end select top 1 @UID_JobSameServerExists = uid_jobsameserver, @UID_Tree 5= uid_tree from dbo.JobQueue with (nolock) where uid_job = @UID_Job if isnull(@UID_JobSameServerExists, '') = '' begin goto endLabel end if @UID_JobSameServerExists6 = @UID_Job begin goto endLabel end insert into @erg(UID_Job, UID_JobSameServerOld, UID_JobSuccess, UID_JobError) select q.UID_Job, q.UID_JobSameServer7, q.UID_JobSuccess, q.UID_JobError from dbo.JobQueue q with (nolock) where q.UID_Tree = @UID_Tree update @erg set UID_JobSameServerNew = @UID_Job where8 UID_Job = @UID_Job select @CountItems = 1 while @CountItems > 0 begin update @erg set UID_JobSameServerNew = @UID_Job from @erg t join (select m.UID_JobSuccess9 from @erg m where m.UID_JobSameServerNew > ' ' ) as s on t.UID_Job = s.UID_JobSuccess where t.UID_JobSameServerOld = @UID_JobSameServerExists and t.UID_JobSameServerNew10 is null         select @CountItems = @@rowcount update @erg set UID_JobSameServerNew = @UID_Job from @erg t join (select m.UID_JobError from @erg m where11 m.UID_JobSameServerNew > ' ' ) as s on t.UID_Job = s.UID_JobError where t.UID_JobSameServerOld = @UID_JobSameServerExists and t.UID_JobSameServerNew is12 null         select @CountItems += @@rowcount end   update @erg set UID_JobSameServerNew = UID_Job where UID_JobSameServerNew is null and UID_JobSameServerOld13 = @UID_JobSameServerExists endLabel: return end 14