下边是我自己写的,但是执行起来报错,请前辈们解答,感谢~
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都网站制作、郎溪网络推广、小程序定制开发、郎溪网络营销、郎溪企业策划、郎溪品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供郎溪建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
update salary201911 set 个税 =
(
case when 计税金额 =36000 then 计税金额*3%-年度个税累计 when 36000计税金额 =144000 then 计税金额*10% - 2520 - 年度个税累计
when 144000计税金额 =300000 then 计税金额*20% - 16920 - 年度个税累计
when 300000计税金额 =420000 then 计税金额*25% - 31920 - 年度个税累计
when 420000计税金额 =660000 then 计税金额*30% - 52920 - 年度个税累计
when 660000计税金额 =960000 then 计税金额*35% - 85920 - 年度个税累计
else 计税金额*45% - 181920 - 年度个税累计
end
);
pl/sql的代码一般都是写在过程,函数和触发器中,你写的话要注意,单写一段也没有什么问题
pl/sql的select语句要有东西接住查询出来的值。这是与sql不同的地方:
DECLARE
v_tmp VARCHAR2(100);
BEGIN
IF 1=1 THEN
SELECT 1 INTO v_tmp FROM DUAL;
dbms_output.put_line(v_tmp);
END IF;
END;
在oracle中,我们可以用case when 代替if
case when length(id)7 then '成功' else '失败' end name (没办法把整个语句发上来,一发就说网络异常)
如果另建新表(这张表需要确实存在),那么就create table table_name后面加上上面的语句就可以了。
如果你的name字段已经存在,也就是说你需要在那么中加上成功个失败的字样,那么就需要稍微修改一下
case when length(id)7 then '成功' else '失败' end name
改为
case when length(id)7 then name||'成功' else name||'失败' end name
具体的要根据实际需求酌情修改
oracle的if语句采用decode函数。
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value
等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else
示例:
比如,有个if语句如下
if(a==1){//如果a等于1,返回2,否则返回3
return 2;
}else{
return 3;
}
翻译成DECODE如下
DECODE(a,1,2,3)
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款