24/05/2018, 16:25

Ngôn ngữ điều khiển (DCL)

Câu lệnh này dùng để cấp phát quyền cho người sử dụng trên đối tượng Cơ sở dữ liệu hoặc quyền thực thi các câu lệnh SQL SERVER. Cú pháp có 2 dạng như sau Dạng 1: Cấp quyền đối với câu lệnh SQL GRANT ALL | statement [,...,statementN ...

Câu lệnh này dùng để cấp phát quyền cho người sử dụng trên đối tượng Cơ sở dữ liệu hoặc quyền thực thi các câu lệnh SQL SERVER. Cú pháp có 2 dạng như sau

Dạng 1: Cấp quyền đối với câu lệnh SQL

GRANT ALL | statement [,...,statementN ]
TO account [,...,accountN]
    

Dạng 2: Cấp quyền đối với các đối tượng trong cơ sở dữ liệu

GRANT ALL | permission [,...,permissionN]
ON table_name |view_name [(column1 [,...,columnN])]
|ON stored_procedure
TO account [,...,accountN]
    

Trong đó:

  • ALL: là từ khoá được sử dụng khi muốn cấp phát tất cả các quyền cho người sử dụng.
  • Account: là tên tài khoản đăng nhận hệ thống
  • Permission: là quyền cấp phát cho người sử dụng trên đối tượng cơ sở dữ liệu:
    • Các quyền có thể cấp phát trên một bảng hoặc một View:
      Select, Insert, Delete, Update
      .
    • Các quyền có thể cấp phát trên cột của bảng hoặc của View:
      Select, Update
    • Quyền có thể cấp phát với các thủ tục:
      EXCUTE
      (thực thi)
  • Statement: Là câu lệnh được cấp phát cho người sử dụng Các câu lệnh có thể cấp phát là:
    • CREATE DATABASE
    • CREATE TABLE
    • CREATE VIEW
    • CREATE PROCEDURE
    • CREATE RULE
    • CREATE DEFAULT
    • BACKUP DATABASE
    • BACKUP LOG
Câu lệnh sau sẽ 3 cấp quyền
SELECT, UPDATE, INSERT
trên các thuộc tính (TenNV,DiaChi, Tuoi) của bảng NHANVIEN cho 2 người sử dụng phnhung, htvan.
GRANT SELECT, UPDATE, INSERT
ON NHANVIEN(TenNV,DiaChi, Tuoi)
TO phnhung, htvan
    
Câu lệnh sau sẽ cấp quyền tạo bảng, tạo View và tạo thủ tục cho người dùng phnhung.
GRANT CREATE TABLE, CREATE VIEW, CREATE PROCEDURE
TO phnhung
    

Lệnh

REVOKE
được dùng để huỷ bỏ quyền đã được cấp phát cho người sử dụng. Câu lệnh này cũng có 2 dạng tương tự như câu lệnh
GRANT
.

Dạng 1: Huỷ quyền thực hiện câu lệnh

REVOKE ALL | statement [,...,statementN]
FROM account [,...,accountN]
    

Dạng 2: Huỷ quyền thực hiện các đối tượng

REVOKE ALL | permission [,...,permissionN]}
ON table_name | view_name [(column [,...,columnN])]
| stored_procedure
FROM account [,...,accountN ]
    
0