我想写一个SQL存储过程使用If/Else,从IncPercent作为整数作为参数,如果IncPercent在10以下即以百分比的形式添加到OrderDetails表上的值列中。否则,如果它是10或以上,它只会将OrderDetails表上的值列增加10%。如果/ ELse在SQL使用参数来区分要添加到值的百分比列
Create Procedure spAddPercentage
(
@IncPercent int
)
AS
BEGIN
IF @IncPercent < 10 SELECT Value From OrderDetails
UPDATE OrderDetails
THEN Value * @IncPercent/100 + Value
END IF
ELSE @IncPercent > 10 SELECT Value FROM OrderDetails
UPDATE OrderDetails
THEN Value * 1.1
END
UPDATE:这是我使用的代码工作
Create Procedure spAddPercentage
(
@IncPercent int
)
AS
BEGIN
IF @IncPercent < 10
BEGIN
UPDATE OrderDetails
SET Value = Value * (1 + @IncPercent/100.0)
END
ELSE
UPDATE OrderDetails
SET Value = Value * 1.1
END
像存储过程这样的程序代码是**高度特定于供应商的** - 所以请添加一个标签以指定您使用的是mysql,postgresql,sql-server,oracle或'db2' - 或者其他的东西。 –
sql-server 2012 – Richoz