我是这样写的UPDATE 表
TYPEID = DECODE( w_typeid<0,TRUE,TYPEID,w_typeid),
....
WHERE ....这里就会报错
Miss 右括号
好像是expression 不对,这里的expression是不是一定要用到函数??还有个问题:
就是:
我从表中查到这条记录,如果用户输入,我就把输入值放入更新,如果没有输入,那么还是根据原值。
所以问题是: TYPEID = TYPEID可以嘛?是不是要用个work变量,先查一下,记录下来?
TYPEID = DECODE( w_typeid<0,TRUE,TYPEID,w_typeid),
....
WHERE ....这里就会报错
Miss 右括号
好像是expression 不对,这里的expression是不是一定要用到函数??还有个问题:
就是:
我从表中查到这条记录,如果用户输入,我就把输入值放入更新,如果没有输入,那么还是根据原值。
所以问题是: TYPEID = TYPEID可以嘛?是不是要用个work变量,先查一下,记录下来?
CASE
WHEN sal <= 500 then 0
WHEN sal > 500 and sal<1500 then 100
WHEN sal >= 1500 and sal < 2500 and deptno=10 then 200
WHEN sal > 1500 and sal < 2500 and deptno=20 then 500
WHEN sal >= 2500 then 300
ELSE 0
END "bonus"
FROM emp;
ENAME SAL DEPTNO bonus
---------- ---------- ---------- ----------
SMITH 800 20 100
ALLEN 1600 90 0
WARD 1250 30 100
JONES 2975 20 300
MARTIN 1250 30 100
BLAKE 2850 30 300
CLARK 2450 10 200