SQL Serverでユーザ定義関数を作成しましたが、何らかの理由で論理が正しくない場合、常にelse文が実行されます。助けてください!SQL Serverでelse文が正しく動作しない場合
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
はあなたが私はあなたが私はに値を渡す方法を、だの寸法と重量 – Mike
ください見上げているのレコードを表示することができます機能 – Mike
を取り込むときの結果を示すために、全体のレコードを選択するために、いくつかのデバッグコードを追加することを示唆している –