Bài giảng Cơ sở dữ liệu - Chương 7: Ngôn ngữ T-SQL - Đỗ Thị Mai Hường
CƠ SỞ DỮ LIỆU
GIÁ O VIÊN: Đỗ Thị Mai Hường
BỘ MÔ N: Cá c Hệ thống thô ng tin
á
KHOA: Cô ng nghệ thô ng tin
Email: dohuong@gmail.com
Lý thuyết CSDL
1
Chương 7 Ngô n ngữ T-SQL
1. Giới thiệu T-SQL
2. Stored Procedure
3. Function
4. Trigger
Lý thuyết CSDL
2
Mục đí ch
• Nắm vững cá c khá i niệm lô (batch) và xử lý theo lô
• Viết cá c câ u lệnh SQL thể hiện logic của ứng dụng
• Định nghĩa và gá n giá trị cho cá c biến
• Nắm vững và dùng được cá c lệnh điều khiển cấu trúc lập trì nh
• Nắm cá ch dùng biến con trỏ
• Viết được cá c thủ tục cơ bản đá p ứng yêu cầu qt csdl
• Viết được và Sử dụng được hàm SQL trong truy vấn
• Tạo được cá c trigger cơ bản
Lý thuyết CSDL
3
Giới Thiệu Transact SQL (T-SQL)
• Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO (International
Organization for Standardization) và ANSI (American National Standards Institute) được
sử dụng trong SQL Server T-SQL được chia làm 3 nhóm:
Data Definition Language (DDL):lệnh dùng để quản lý các thuộc tính của một database
như định nghĩa các hàng hoặc cột của một table, hay vị trí data file của một
database...thường có dạng
Create object_Name
Alter object_Name
Drop object_Name
Trong đó object_Name có thể là một table, view, stored procedure, indexes...
Ví dụ:
Lệnh Create sau sẽ tạo ra một table tên Importers với 3 cột
CompanyID,CompanyName,Contact
USE Northwind
• CREATE TABLE Importers(
CompanyID int NOT NULL,
CompanyName varchar(40) NOT NULL,
Contact varchar(40) NOT NULL
)
Lý thuyết CSDL
4
Giới Thiệu Transact SQL (T-SQL)
• Data Control Language (DCL):
Ðây là những lệnh quản lý các quyền truy cập lên từng object (table, view, stored
procedure...). Thường có dạng sau: Grant, Revoke, Deny
Ví dụ:
Lệnh sau sẽ cho phép user trong Public Role được quyền Select đối với table Customer
trong database Northwind (Role là một khái niệm giống như Windows Group sẽ được
bàn kỹ trong phần Security)
USE Northwind
GRANT SELECT
ON Customers
TO PUBLIC
Lệnh sau sẽ từ chối quyền Select đối với table Customer trong database Northwind của
các user trong Public Role
USE Northwind
DENY SELECT
ON Customers
TO PUBLIC
Lệnh sau sẽ xóa bỏ tác dụng của các quyền được cho phép hay từ chối trước đó
USE Northwind
REVOKE SELECT
ON Customers
TO PUBLIC
Lý thuyết CSDL
5
Giới Thiệu Transact SQL (T-SQL)
• Data Manipulation Language (DML):
Ðâ y là những lệnh phổ biến dùng để xử lý data như Select,
Update, Insert, Delete
Lý thuyết CSDL
6
Giới Thiệu Transact SQL (T-SQL)
• Vd: USE qlysv
DECLARE @stt INT
CREATE TABLE sv
(stt
INT,
masv
NVARCHAR(10)
NOT NULL
CONSTRAINT pk_sinhvien PRIMARY KEY,
NVARCHAR(50) NOT NULL ,
hoten
ngaysinh
gioitinh
noisinh
malop
SMALLDATETIME NULL ,
NULL ,
NVARCHAR(100) NULL ,
BIT
NVARCHAR(10)
NULL
)
SELECT @stt = @@IDENTITY
INSERT INTO sv
VALUES(@stt,’SV01CDT2K8’, 'Trần Thu Thuỷ', '11/10/1987',0,'Thá i bì nh','CDT001K008')
SELECT * FROM SV
Lý thuyết CSDL
7
Giới thiệu về xử lý theo lô (SQL
Batch Processing)
Các lệnh SQL riêng
rẽ
Được nhóm lại thành
lô (batch)
Lô (Batch)
Được biên
dịch thành
một kế
hoạch thực
thi
Lý thuyết CSDL
8
Định nghĩa
Quá trì nh trong đó một tập lệnh được xử lý
cùng lúc được gọi là
Lý thuyết CSDL
9
Ví dụ về một lô (batch)
Use QlSach
Select * from tacgia
Update tacgia
set phone= ‘098890 4566‘
where tentg = ‘Trung'
Go
Lệnh báo hiệu kết
thúc lô
Lý thuyết CSDL
10
Mục đích: Hay dùng phâ n tách nhóm để
thực hiện độc lập
• VDụ: Xé t kịch bản
CREATE DaTaBASE qlbanhang
USE qlbanhang
CREATE TABLE ktra
(
A INT,
B INT
)
SELECT * FROM ktra
• --Sẽ bị bá o lỗi
Lý thuyết CSDL
11
Cần sửa lại
• CREATE DaTaBASE qlbanhang
GO
USE qlbanhang
CREATE TABLE ktra
(
A INT,
B INT
)
GO
SELECT * FROM ktra
GO
Lý thuyết CSDL
12
Chú thí ch trong một lô xử lý
• Cá c chuỗi ký tự trong mã lệnh chương trì nh (cò n được gọi là chú thí ch)
khô ng được xử lý bởi trì nh biên dịch.
• Dùng để giải thí ch cho mã lệnh hay vô hiệu hó a tạm thời cá c thành phần
câ u lệnh T-SQL đang xử lý
• Giúp việc bảo trì mã lệnh dễ dàng hơn.
• Chú thí ch thường được sử dụng để ghi lại tên chương trì nh, tên tá c giả và
ngày thá ng thực hiện thay đổi mã lệnh.
• Chú thí ch có thể được dùng để mô tả cá c phé p tí nh toá n phức tạp hay giải
thí ch về phương phá p lập trì nh.
Lý thuyết CSDL
13
Cá c hì nh thức chú thí ch
SQL Server hỗ trợ hai hì nh thức chú thí ch:
1) --(hai ghạch ngang)
Ví dụ:
USE Qlsach
GO
-- Đây là chú thích.
2) /* ... */ (cặp dấu ghạch chéo và dấu sao)
Ví dụ:
SELECT * FROM nhanvien /*Đây là chú thích*/
Lý thuyết CSDL
14
Chú thí ch nhiều dò ng
• Chú thí ch nhiều dò ng /* */ khô ng thể vượt quá một lô . Một chú thí ch
hoàn chỉnh phải nằm trong một lô xử lý.
• Ví dụ, trong cô ng cụ Query Analyzer, lệnh GO bá o hiệu kết thúc lô . Khi
gặp lệnh GO trên dò ng lệnh nó sẽ gửi tất cả cá c mã lệnh sau từ khó a
GO cuối cùng lên má y chủ SQL trong một lô xử lý.
• Nếu lệnh GO xuất hiện trên một dò ng giữa /* và */ thì Query Analyzer
sẽ gửi đi một đoạn chú thí ch có cá c ký tự đá nh dấu sai trong mỗi lô và
sẽ gâ y ra lỗi cú phá p.
Lý thuyết CSDL
15
Chú ý:
• Đối với cá c lệnh CREATE như là: CREATE DEFAULT,
CREATE PROCEDURE, CREATE RULE, CREATE
TRIGGER, CREATE VIEW khô ng được phé p kết hợp với
cá c lệnh khá c trong cùng một lô .
Lý thuyết CSDL
16
Biến cục bộ
Lý thuyết CSDL
17
Khai bá o bien
• DECLARE @Tên_biến Kiểu_dữ_liệu [, ...]
• Kiểu dữ liệu text, ntext hoặc image khô ng được chấp nhận khi khai
bao bien
• Ví dụ: Để khai bá o cá c biến lưu trữ giá trị tổng số lượng đặt hàng,
họ tên nhà cung cấp, ngày xuất hàng. Sử dụng lệnh DECLARE
như sau:
DECLARE @Tongsldat INT, @Hotenncc CHAR(50)
DECLARE @Ngayxh DATETIME
Lý thuyết CSDL
18
Gá n giá trị cho biến
• Từ khó a SET hay SELECT được dùng để gá n giá trị cho biến.
• Cú phá p:
Hoặc là:
SET @<tên biến cục bộ> = <giá trị>
SELECT @<Tên biến cục bộ> = <giá trị>
• Chú ý: Phạm vi hoạt động của biến chỉ nằm trong một thủ tục
hoặc một lô có chứa lệnh khai bá o biến đó
Lý thuyết CSDL
19
Ví du:
• Để gá n giá trị là ngày 25/03/2002 vào biến ngày xuất hàng ta sử
dụng lệnh SET như sau:
• DECLARE @Ngayxh DATETIME
SET @Ngayxh='2002-03-25'
• Chú ý:Đối với kiểu dữ liệu dạng ngày trong Microsoft SQL
Server thường sử dụng theo định dạng yyyy-mm-dd để gá n
giá trị vào biến hoặc vào trong cơ sở dữ liệu.
Lý thuyết CSDL
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương 7: Ngôn ngữ T-SQL - Đỗ Thị Mai Hường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_co_so_du_lieu_chuong_7_ngon_ngu_t_sql_do_thi_mai_h.pdf