Oracle笔试题集(二)

2014-11-24 00:58:22 · 作者: · 浏览: 22
(Author_Code)


CURSOR c_Salary IS


SELECT Salary,


Author_Code


FROM Auths


WHERE Author_Code >=’A00001′


AND Author_Code <=’A00006′;


BEGIN


打开游标


LOOP


游标循环,将游标查询结果集中的一行保存到两个临时变量中


() c_Salary INTO v_Salary, v_Code;


当结果集中没有行是退出


EXIT WHEN ();


如果该作家的工作少于或等于五百,则给该作家增加15%的工资


– 5001000之间则增加12%,其他增加10%


IF v_Salary <= 500 THEN


UPDATE Auths


SET Salary = ()


WHERE Author_Code = v_Code;


ELSIF v_Salary <= 1000 THEN


UPDATE Auths


SET Salary = Salary + Salary * 0.12


WHERE Author_Code = v_Code;


()


UPDATE Auths


SET Salary = Salary + Salary * 0.1


WHERE Author_Code = v_Code;


END IF;


END LOOP;


();


();


EXCEPTION


WHEN OTHERS THEN


CLOSE c_Salary;


ROLLBACK;


v_ErrText := ();


DBMS_OUTPUT.PUT_LINE(‘程序异常终止,出现一下错误:’||v_ErrText);


END;