UFN_MERCHANDISEPRODUCTINSTANCE_OPTIONSUNIQUE
Checks to see if product instance options are unique for product.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MERCHANDISEPRODUCTINSTANCEID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_MERCHANDISEPRODUCTINSTANCE_OPTIONSUNIQUE(@MERCHANDISEPRODUCTINSTANCEID uniqueidentifier)
returns bit
as begin
declare @NOMATCHFOUND bit
declare @OPTIONCOUNT integer
declare @MATCHCOUNT integer
select
@OPTIONCOUNT = count(*)
from
dbo.MERCHANDISEPRODUCTINSTANCE inner join dbo.MERCHANDISEPRODUCTOPTION on
MERCHANDISEPRODUCTINSTANCE.MERCHANDISEPRODUCTID = MERCHANDISEPRODUCTOPTION.MERCHANDISEPRODUCTID
where
MERCHANDISEPRODUCTINSTANCE.ID = @MERCHANDISEPRODUCTINSTANCEID
if not exists(
select
MERCHANDISEPRODUCTINSTANCEOPTIONVALUEMATCH.MERCHANDISEPRODUCTINSTANCEID
from
dbo.MERCHANDISEPRODUCTINSTANCE inner join MERCHANDISEPRODUCTINSTANCEOPTIONVALUE on
MERCHANDISEPRODUCTINSTANCE.ID = MERCHANDISEPRODUCTINSTANCEOPTIONVALUE.MERCHANDISEPRODUCTINSTANCEID
inner join dbo.MERCHANDISEPRODUCTINSTANCEOPTIONVALUE MERCHANDISEPRODUCTINSTANCEOPTIONVALUEMATCH on
MERCHANDISEPRODUCTINSTANCEOPTIONVALUE.MERCHANDISEPRODUCTOPTIONVALUEID = MERCHANDISEPRODUCTINSTANCEOPTIONVALUEMATCH.MERCHANDISEPRODUCTOPTIONVALUEID
where
MERCHANDISEPRODUCTINSTANCE.ID = @MERCHANDISEPRODUCTINSTANCEID and
MERCHANDISEPRODUCTINSTANCEOPTIONVALUEMATCH.MERCHANDISEPRODUCTINSTANCEID <> @MERCHANDISEPRODUCTINSTANCEID
group by
MERCHANDISEPRODUCTINSTANCEOPTIONVALUEMATCH.MERCHANDISEPRODUCTINSTANCEID
having
count(*) = @OPTIONCOUNT)
begin
set @NOMATCHFOUND = 1
end
else
begin
set @NOMATCHFOUND = 0
end
return @NOMATCHFOUND
end