Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Plain Text by asdsad ( 13 years ago )
1.
DECLARE
CURSOR dept_cur is SELECT deptno, dname, loc from dept;
CTR number;
BEGIN
FOR r_dept in dept_cur
LOOP
INSERT into old_dept VALUES r_dept;
ctr:= ctr + 1;
END LOOP;
DBMS_OUTPUT.PUT_LINE(ctr || ' processed');
END;
2.
declare
v_deptno number :=50;
cursor c_emp_cursor is select last_name,salary,manager_id from employees
where deptartment_id=v_deptno;
v_rec c_emp_cursor%rowtype
begin
open c_emp_cursor;
for i in v_rec..c_emp_cursor loop
fetch c_emp_cursor into v_dept;
if v_dept.salary < 5000 and (v_dept.manager_id = 101 or v_dept.manager_id = 124) then
dbms_output.put_line(v_dept.last_name||' Due for a raise');
else
dbms_output.put_line(v_dept.last_name||' Not due for a raise');
close c_emp_cursor;
end;
3.
SET SERVEROUTPUT ON
DECLARE
computed_commission number;
v_sales_amount number;
BEGIN
v_sales_amount := &v_sales_amount;
IF v_sales_amount > 10000
THEN computed_commission := v_sales_amount * 0.20;
ELSIF v_sales_amount >= 5000 AND v_sales_amount <= 10000
THEN computed_commission := v_sales_amount * 0.10;
ELSIF v_sales_amount < 5000
THEN computed_commission := v_sales_amount * 0.05;
END IF;
DBMS_OUTPUT.PUT_LINE('The Computed Commission is: ' || computed_commission);
END;
4.
DECLARE
cursor c_stud is
select stud_no,subj_code,final_grade,grade from stud_grades;
r_stud c_stud%rowtype;
begin
open c_stud;
loop
fetch c_stud into r_stud;
exit when c_stud%notfound;
if r_stud.final_grade between 90 and 100 then
update stud_grade set final_grade='A' where current of c_stud;
dbms_output.put_line('Student '|| r_stud.stud_no || 'got an A');
elsif r_stud.final_grade between 80 and 89 then
update stud_grade set final_grade='B' where current of c_stud;
elsif r_stud.final_grade between 70 and 79 then
update stud_grade set final_grade='C' where current of c_stud;
elsif r_stud.final_grade < 70 then
update stud_grade set final_grade='D' where current of c_stud;
end if;
end;
5.
DECLARE
cursor c_book_invent is
select book_code,book_class,unit_count from books_inventory;
r_book c_book_invent%rowtype;
begin
open c_book_invent;
loop
fetch c_book_invent into r_book;
exit when c_book_invent%notfound;
if r_book.unit_count < 50 and r_book.book_class= 'STUD_COPY' then
insert into books_replenish values r_book where current of c_book_invent;
elsif r_book.unit_count < 10 and r_book.book_class= 'TEACHER_COPY' then
insert into books_replenish values r_book where current of c_book_invent;
end if;
end;
Revise this Paste