Oracle cơ bản - SQL và PL/SQL
GRANT privilege[,privilege...] TO user [,user...] Xoá quyền
REVOKE privilege[,privilege...] FROM user [,user...] 11.2.ROLE
Role là tên của một nhóm các quyền hạn. Nó được tạo để quản lý quyền hạn cho các ứng dụng hoặc nhóm
các User. Việc dùng role cho phép quản lý thống nhất trên các đối tượng, tăng tính mềm dẻo trong quản trị,
dễ dàng thay đổi. Ví dụ hai đối tượng X, Y có quyền trên role A tức là role A có quyền gì thì X, Y có quyền
tương ứng khi role A bị thay đổi quyền hạn thì X, Y cũng bị thay đổi quyền hạn theo. Lệnh tạo Role
Cú pháp:
CREATE ROLE role [IDENTIFY BY password]; Gán privilege cho Role
Gán Role có các đối tượng
Một số Role hay dùng:
CONNECT
RESOURCE Lệnh gán và xoá Role giống như lệnh gán và xoá Privilege. Chi tiết xem trong phần quản trị Oracle.
Có thể tạo một synonym cho phép mọi người có thể tham khảo tới
CREATE PUBLIC EMP FOR EMP_01.EMPLY; Tính bảo mật là vì synonym là bí danh, nên người sử dụng dùng bí danh này sẽ không đoán được thêm thông
tin gì.
Trang 75
Quyển sách này được upload tại: hutonline.netOracle cơ bản - SQL và PL/SQL
Chương 12. GIỚI THIỆU NGÔN NGỮ PL/SQL
12.1.TỔNG QUAN VỀ PL/SQL
12.1.1.
Cú pháp lệnh PL/SQL
Mỗi lệnh SQL kềt thúc bằng dấu (;)
Lệnh định nghĩa CSDL (DDL) không được sử dụng trong PL/SQL
Lệnh SELECT trả về nhiều dòng có thể gây exception
Lệnh DML có thể tác động trên nhiều dòng
Ví dụ:
x := 1;
INSERT INTO emp (id, name)
VALUES (50, ‘GARNOR’);
BEGIN
SELECT name FROM dept INTO :DEPT.NAME;
EXCEPTION
WHEN others THEN
Message(SQLERRM);
END;
UPDATE emp
SET sal := sal*1.2
v_loc VARCHAR2(15);
BEGIN Trang 76
Quyển sách này được upload tại: hutonline.netOracle cơ bản - SQL và PL/SQL
SELECT deptno, loc INTO v_deptno, v_loc
FROM dept
WHERE dname = 'SALES';
EXCEPTION
WHEN others THEN
Message(SQLERRM);
END; 12.2.LỆNH LẬP TRÌNH PL/SQL ĐƠN GIẢN
12.2.1.
Lệnh IF
Thực hiện câu lệnh theo điều kiện.
Cú pháp:
IF <điều kiện 1> THEN
Công việc 1;
[ELSIF <điều kiện 2> THEN
Công việc 2;
Oracle cơ bản - SQL và PL/SQL
12.2.2.
Lệnh lặp LOOP không định trước
Trong lệnh lặp này, số lần lặp tuỳ thuộc vào điều kiện kết thúc vòng lặp và không xác định được ngay tại
thời điểm bắt đầu vòng lặp.
Cú pháp:
LOOP
Công việc;
EXIT WHEN điều kiện;
END LOOP; Ví dụ:
x := 0;
y := 1000;
LOOP
x := x + 1;
y := y - x;
EXIT x > y;
END LOOP; 12.2.3.
Lệnh lặp LOOP có định trước
Ngay khi bắt đầu vòng lặp, ta đã xác định được số lần lặp. Cú pháp:
LOOP Index IN Cận dưới .. Cận trên
Quyển sách này được upload tại: hutonline.net