1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| USE [UBI_PRODUCTS]
GO
/****** Object: UserDefinedFunction [dbo].[UDF_PRODUCT_ID] Script Date: 03/02/2007 15:53:03 ******/
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[UDF_PARSE_PRODUCT_KEY]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION [dbo].[UDF_PARSE_PRODUCT_KEY]
GO
CREATE FUNCTION [dbo].[UDF_PARSE_PRODUCT_KEY]
( @p_PRODUCT_KEY bigint,
@p_MASK_NAME varchar(50))
RETURNS bigint
AS
BEGIN
DECLARE @v_MASK bigint, @v_DIVIDER bigint, @v_KEY bigint
SELECT @v_MASK = MASK,
@v_DIVIDER = DIVIDER
FROM UBI_PRODUCTS.dbo.UBI_PRODUCT_BITMASK
WHERE MASK_NAME = @p_MASK_NAME
SELECT @v_KEY = (@v_MASK & @p_PRODUCT_KEY) / @v_DIVIDER
RETURN @v_KEY
END |
Partager