Đề thi giữa kì [cô Trần Ngân Bình]

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Đề thi giữa kì [cô Trần Ngân Bình]

Bài gửi  Admin on Sat Apr 06, 2013 10:32 pm

Đề 1&2:
-Cho bảng EMP gồm cột EMPNO (mã nhân viên) , ENAME (tên nhân viên) , SAL (lương nhân viên) , DEPTNO (mã phòng ban),...
-Nhập vào mã phòng và in ra danh sách gồm (mã nhân viên,tên nhân viên,lương) sắp xếp theo LƯƠNG GIẢM DẦN.


Hướng dẫn:
-Khai báo con trỏ có tham số (tham số mp).
-Tham số mp (mã phòng) lấy kiểu dữ liệu của cột deptno trong bảng emp.
-Sắp xếp theo thứ tự lương giảm dần
-Nhập mã phòng cho nhân viên.

Code:

SET SERVEROUTPUT ON;
DECLARE
  CURSOR nv (mp emp.deptno%TYPE) IS
    SELECT empno, ename, sal
    FROM emp
    WHERE deptno = mp
    ORDER BY sal DESC;
BEGIN
  FOR i IN nv(&Nhap_ma_phong)
  LOOP
    dbms_output.put_line(i.empno || ' | ' || i.ename || ' | ' || i.sal);
  END LOOP;
END;

Chú thích: bạn có thể đăng nhập vào người dùng SCOTT (scott/tiger) để thực thi câu lệnh trên!

---

Đề 3&4:
-Cho bảng NHANVIEN gồm cột MANV(mã nhân viên), HO (họ nhân viên) , TEN (tên nhân viên) , NAMSINH (năm sinh nhân viên)
-Nhập vào tuổi của nhân viên thứ nhất và tuổi của nhân viên thứ hai.
-In ra danh sách nhân viên gồm (họ nhân viên,tên nhân viên,tuổi nhân viên) với điều kiện: tuổi nhân viên thuộc [tuổi 1;tuổi 2].
-Sắp xếp theo thứ tự tuổi tăng dần


Hướng dẫn:

Code:

SET SERVEROUTPUT ON;
DECLARE
  CURSOR nv (tuoi1 NUMBER, tuoi2 NUMBER) IS
    SELECT manv,ho, ten, extract (year from sysdate) - namsinh as tuoi
    FROM nhanvien
    WHERE (extract (year from sysdate) - namsinh) between tuoi1 and tuoi2
    ORDER BY tuoi;
BEGIN
  FOR i IN nv(&Nhap_Tuoi_1, &Nhap_Tuoi_2)
  LOOP
    dbms_output.put_line(i.ho || ' | ' || i.ten || ' | ' || i.tuoi);
  END LOOP;
END;

Chú thích: bạn có thể tạo bảng nhanvien để test thử!

Code:

create table nhanvien(
  manv char(1) primary key,
  ho varchar2(7),
  ten varchar2(7),
  namsinh number(4,0));

Admin
Admin

Tổng số bài gửi : 217
Reputation : 20
Join date : 17/11/2012
Age : 24

Xem lý lịch thành viên http://elcit.forumvi.com

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết