CREATE_OR_DROP_DIM_REVENUECODE_INDICES

Parameters

Parameter Parameter Type Mode Description
@CREATE_OR_DROP bit IN

Definition

Copy

create procedure [BBDW].[CREATE_OR_DROP_DIM_REVENUECODE_INDICES]
  @CREATE_OR_DROP bit --1 to create, 0 to drop.
  as
  set nocount on;

  if @CREATE_OR_DROP is null
  raiserror('@CREATE_OR_DROP must be 1 or 0 in [BBDW].[CREATE_OR_DROP_DIM_REVENUECODE_INDICES]',16,10);

  if @CREATE_OR_DROP =1
  begin
  --create

    if  [BBDW].[UFN_INDEXEXISTS]('IX_DIM_REVENUECODE_REVENUECODE') = 0
      create nonclustered index [IX_DIM_REVENUECODE_REVENUECODE] on [BBDW].[DIM_REVENUECODE] ([REVENUEPAYMENTMETHODCODE],[REVENUETRANSACTIONTYPECODE],[REVENUEPOSTSTATUSCODE],[REVENUERECEIPTTYPECODE],[REVENUEAPPLICATIONTYPECODE],[REVENUEAPPLICATIONCODE],[FINANCIALTRANSACTIONLINEITEMTYPECODE], [FINANCIALTRANSACTIONLINEITEMPOSTSTATUSCODE]) with (DATA_COMPRESSION = PAGE) on [BBRPT_DIMIDXGROUP];

    if  [BBDW].[UFN_INDEXEXISTS]('IX_DIM_REVENUECODE_SOURCEDIMID') = 0
      create nonclustered index [IX_DIM_REVENUECODE_SOURCEDIMID] on [BBDW].[DIM_REVENUECODE] ([SOURCEDIMID]) with (DATA_COMPRESSION = PAGE) on [BBRPT_DIMIDXGROUP];      

  end
  else
  begin
  --drop

    if  [BBDW].[UFN_INDEXEXISTS]('IX_DIM_REVENUECODE_REVENUECODE') = 1
     drop index [IX_DIM_REVENUECODE_REVENUECODE] on [BBDW].[DIM_REVENUECODE]; 

    if  [BBDW].[UFN_INDEXEXISTS]('IX_DIM_REVENUECODE_SOURCEDIMID') = 1
     drop index [IX_DIM_REVENUECODE_SOURCEDIMID] on [BBDW].[DIM_REVENUECODE];

  end