Sql server 我的代码不会像它那样向数据库添加百分比';这是注定的

Sql server 我的代码不会像它那样向数据库添加百分比';这是注定的,sql-server,tsql,Sql Server,Tsql,我想将百分比添加到我的数据库中,但它不起作用 这是我的尝试: Use SKILLAGEITDB go Create procedure [spAddPercentage] as declare @incPercent decimal(2,0) begin update OrderDetails set Value = Value * 0.1 if @incpercent < 0.1 update OrderDetails

我想将百分比添加到我的数据库中,但它不起作用

这是我的尝试:

Use SKILLAGEITDB
go

Create procedure [spAddPercentage] 
as
    declare @incPercent decimal(2,0) 
begin
    update OrderDetails
    set Value = Value  * 0.1

     if @incpercent < 0.1 
        update OrderDetails
        set Value = Value * 0.1 

     if @incpercent > 0.1 
        update orderdetails 
        set value = value * 0.1
     else
        if @incpercent = 0.1 
            print 'finished'
end 
使用SKILLAGEITDB
去
创建过程[spAddPercentage]
作为
声明@十进制百分比(2,0)
开始
更新订单详细信息
设置值=值*0.1
如果@incpercent<0.1
更新订单详细信息
设置值=值*0.1
如果@incpercent>0.1
更新订单详细信息
设置值=值*0.1
其他的
如果@incpercent=0.1
打印“已完成”
结束
哇,这么多东西

  • 为什么有三种不同的情况,而他们都做相同的事情
  • 语法不一致。。如果在第二种情况下不使用
    else
    ,为什么在最后一种情况下使用
    else
  • 由于第一行中的值乘以0.1,因此无论
    @incpercent
    是什么,其余代码都是多余的
  • 你到底想干什么


    该代码的思想是在orderdetails表的value列中添加10%


    要做到这一点,它将是Value*1.1(例如set Value=Value*1.1或set Value*=1.1)

    请给我们输入和预期输出。代码的想法是在orderdetails表的Value列中添加10%。“但它不起作用”毫无帮助。它应该在orderdetails表的value列中加上10%的总值。。。。不管
    @incpercent
    是什么?那是干什么用的?