0

これはMySQLの私のコードです。与えられた在庫と各アイテムの価格からアイテムの値を計算するステートメントを作成する必要があります -> 在庫×価格。itemvalue が負の場合は、0 に設定する必要があります。

CREATE function item_value (inventory int UNSIGNED, price decimal(8,2)) RETURNS DECIMAL(8,2)
BEGIN 
 IF inventory*price < 0 THEN 
  SET itemvalue = 0
 ELSE 
  SET itemvalue = inventory*price
END IF;

これが今のところ機能していないことはわかっていますが、MySQL で関数を操作したことはありません。申し訳ありませんが、うまくいけば、皆さんが私を助けてくれます。

関数のシグネチャは次のとおりです。

itemvalue(inventory int UNSIGNED, price decimal(8,2))

ありがとう

4

1 に答える 1

0

私はあなたが欲しいと推測しています:

DELIMITER $$

CREATE function item_value (
    inventory int UNSIGNED,
    price decimal(8,2)
) RETURNS DECIMAL(8,2)
BEGIN
    RETURN GREATEST(inventory*price, 0); 
END $$

DELIMITER ;
于 2016-01-08T12:52:51.223 に答える