I have created user defined function in SQL Server, but somehow the logic is not correct, it always executes the else statement; please help!
CREATE FUNCTION shipSelection
(@Item_No varchar(20),@itemname varchar(20))
RETURNS varchar(100)
AS
BEGIN
declare @weight float
declare @demention float
declare @density float
declare @result varchar(100)
SET @weight = (SELECT Item_Weight FROM Items
WHERE Item_No = @Item_No AND Name = @itemname)
SET @demention = (SELECT Dimention FROM Items
WHERE Item_No = @Item_No AND Name = @itemname)
SELECT @density = @weight / @demention
IF @density > 100
BEGIN
SET @result = 'LOW DENSITY CAN USE ANY TYPE SHIPS';
END
ELSE IF @density > 300
BEGIN
SET @result = 'MEDIUM DENSITY CAN USE MEDIUM SHIPS';
END
ELSE IF @density > 500
BEGIN
SET @result = 'MEDIUM DENSITY WANT TO USE HUGE SHIPS';
END
ELSE
BEGIN
SET @result = 'DONT WANT TO CARE ABOUT SHIPS TOO SMALL DENSITY ITEM';
END
RETURN @result
END
SELECT
dbo.shipSelection('I010', 'asus x555l') AS TRANSPORT_SHIP_TYPE