下边是我自己写的,但是执行起来报错,请前辈们解答,感谢~
成都创新互联是专业的通河网站建设公司,通河接单;提供网站制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行通河网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
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
具体的要根据实际需求酌情修改
你这个应该把count(A)赋给一个变量 count(B)也同样,然后比较两个变量
比如:select count(A) into 变量1 ,count(B) into 变量2 from aaaa;
if 变量1变量2 then
选择变量1对应的行
else
选择变量2对应的行
endif
Create Or Replace View mark_v
As
Select Id,Case score When '优' Then '90' When '中' Then '75' When '差' Then '30' Else score End As score
From mark
或者还有个简单的写法:
Create Or Replace View mark_v
As
Select Id,decode(score,'优','90','中','75','差','30',score) As score
From mark
以上希望对你有所帮助
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)