如何怎样用SQL创建存储过程算个人所得税为例
1、第一种:用自带的工具创建:打开SQL资源管理器,选中该数据库--可编程性--存储过程。新建存储过程。如下图。
2、用模板创建,就会套用很多模板出来,包括注释和系统参数等,我们忽略就可以了。输入存储过程名,参数,SQL语句就可以了。
3、如下图,把多余的信息删掉。输入存储过程名Order_Detail。参数名:@BillNo类型为Varchar(20)。SQL语句:Select * from ORD_SalesOrder。查询销售单。
4、语句修改好以后。点击左上角的运行,或者按下F5.创建此存储过程。下面的消息里面提示“命令已完成”表示创建成功。如果创建不成功会报错。
5、执行存储过程:新增查询,exec是执行的意思,后面接存储过程名,再接参数。如下图所示。就会查询出,我们输入的单号对应的销售单的相关数据。
6、第二种方法。直接写语句创建存储过程。新建查询--输入语句“CREATE procedure sp_TestRax”。"CREATE procedure"固定语法表示创建存储过程。“sp_TestRax”是存储过程名称。
7、这里我们以算个人所得税为例。定义三个参数。@i和@j为int类型,默认为传入参数。@Rax类型为decimal(18,2),output表示输出参数。假设我们用@i来表示薪资,@j表示个税起征点。@Rax表示输出需要上缴的所得税。
8、在Begin和End输入我们要执行的SQL语句。定义参数@K,用来表示需要缴税的那部分薪资。
9、从百度上我们可以搜索到个税税率釉涑杵抑表,如下图1。从起征点开始,小于1500的是。税费=缴税薪资*0.03。利用case when 函数,写如下换算语句。1500-4500之间,税费=1500*0.03+(缴税薪资-1500)*0.1。依次类推,算出超过部分个需交个税的金额。由于小编工资没那么多,超过35000的部分就不算了,大家参考前面的写上推算。
10、存储过程完成语法如下图。编写完以后点击运行,或者按F5.提示“命令已成功完成”
11、存储过程调用。定义耩撞苏粪参数@Rax来接受上缴个税。假设工资5000,起征点3500.那调用存储过程语句“exec sp_TestRax 5000,3500,@Rax output ”查询@Rax语句“select @Rax”。可以得出需上缴的个人所得税是45。