Tuesday, February 21, 2017

SQL Server - Find User Defined Table Type Dependency

BEGIN TRANSACTION
DROP PROC dbo.uspGetStockAccumulatePerMarketTriggerByEventIDList
DROP PROC dbo.uspGetStockAccumulateTotalPortfolioByEventIdList
GO

---- WRITE HERE SCRIPT TO DROP OLD USER DEFINED TABLE TYPE AND CREATE A NEW ONE ----
/********************* Change History ********************
Date   Author Description
2016-08-02 Janice Get Stock Accumulate Per Market Trigger By EventId List

EXEC [dbo].[uspGetStockAccumulatePerMarketTriggerByEventIDList]
**********************************************************/
CREATE PROCEDURE [dbo].[uspGetStockAccumulatePerMarketTriggerByEventIDList]
@CompanyID INT,
@Table udttEventIDList READONLY
AS
BEGIN
SET NOCOUNT ON;

DECLARE @CalculateStockAccumulateTypeId BIGINT
SELECT @CalculateStockAccumulateTypeId = [SettingParamValue] FROM [Setting](NOLOCK) WHERE [SettingParamName] = 'CalculateStockAccumulateType'

SELECT EventID
, WagerSelectionID
, IsRB
, ScoreHome
, ScoreAway
, MarketTypeID
, Handicap
, BetTypeSelectionID
,
--1:MixtureAmount; 2:PotentialPayout; 3: StakeAmount; 4: PotentialMemberExposure
CASE WHEN @CalculateStockAccumulateTypeId = 1 THEN MixtureAmount
WHEN @CalculateStockAccumulateTypeId = 2 THEN PotentialPayoutAmount
WHEN @CalculateStockAccumulateTypeId = 3 THEN StakeAmount
ELSE PotentialExposureAmount
END AS Stock
, WagerCount
FROM [StockAccumulatePerMarketTriggerBySelection] WITH (NOLOCK)
WHERE EventID IN (SELECT TT.EventID FROM @Table AS TT) AND (@CompanyID = 0 OR CompanyID = @CompanyID)

SET NOCOUNT OFF;
END

GO
/********************* Change History ******************************
Date   Author  Description
2016-03-30    Jason      Get StockAccumulateSelectionTotalPortfolio by event id list
********************************************************************/

CREATE PROCEDURE [dbo].[uspGetStockAccumulateTotalPortfolioByEventIdList]
@EventIdList udttEventIDList READONLY
AS
BEGIN
SET NOCOUNT ON;

SELECT
  [BusinessUnitID]
      ,[EventID]
      ,[MarketTypeID]
      ,[SportID]
      ,[MarketID]
      ,[PeriodID]
      ,[BetTypeID]
      ,[Handicap]
      ,[BetTypeSelectionID]
      ,[ScoreHome]
      ,[ScoreAway]
      ,[StockRawStartID]
      ,[StockRawEndID]
      ,[StakeAmount]
      ,[Stock]
      ,[CompanyPotentialWinAmount] AS 'PotentialPayoutAmount'
      ,[CompanyPotentialExposureAmount] AS 'PotentialExposureAmount'
 FROM [dbo].[StockAccumulateTotalPortfolioBySelection] (NOLOCK) WHERE EventID IN (SELECT EventID FROM @EventIdList) AND BetTypeID in (1,2,3,5)

END
GO
COMMIT

No comments: