Phần 2: Ngôn ngữ T-SQL
Nội Dung
T-SQL?
Khai báo biến
Store
Procedure (SP)
Cấu trúc lệnh trong SP
Tạo SP trong Enterprise Manager
12/03/15
Võ Phương Bình – ITFAC - DLU
2
T-SQL
T_SQL là ngôn ngữ SQL mở rộng dựa trên
nền SQL chuẩn. T_SQL được chia làm 3
nhóm:
Data Defination Language (DDL): Là những
lệnh để quản lý một database.
Data Control Language (DCL): là những lệmh
quản lý quyền truy cập trên từng đối tượng.
Data Manipulation Language (DML): là những
lệnh dùng để xử lý dữ liệu.
12/03/15
Võ Phương Bình – ITFAC - DLU
3
Khai báo biến
Cú pháp khai báo biến:
Declare @varname1 datatype1, @varname2
datatype2,....
Ví dụ 1:
declare @hoten nvarchar(50), @tuoi int
Ví dụ 2:
declare @ClassIdent nvarchar(10)
SET @ClassIdent = '1001'
SELECT ClassID from Courses
WHERE ClassID = @ClassIdent
12/03/15
Võ Phương Bình – ITFAC - DLU
4
Store Procedure
Cú pháp định nghĩa một store procedure
CREATE PROCEDURE StoreName
(
@varname1 datatype1,
@varname2 datatype2 OUTPUT,
....
)
AS
{SQL_statement | statement_block}
GO
Chú thích: dùng dấu gạch ngang (-)
12/03/15
Võ Phương Bình – ITFAC - DLU
5
Cấu trúc lệnh trong SP
IF....ELSE
Ví dụ:
IF (not exist(SELECT * FROM Customers WHERE
CustomerID=@CustomerID))
BEGIN
Inser Into Customers Values(@CustomerID, …)
END
ELSE
PRINT ‘Trùng khóa’
12/03/15
Võ Phương Bình – ITFAC - DLU
6
Cấu trúc lệnh trong SP (tt)
CASE
Ví dụ:
CREATE PROCEDURE Vidu ( @ID int )
AS
Begin
Select * From Categories Where CategoryID =
Case @ID
When 0 Then 1
Else @ID
End
End
12/03/15
Võ Phương Bình – ITFAC - DLU
7
Cấu trúc lệnh trong SP (tt)
WHILE
Ví dụ:
WHILE (SELECT AVG(price) FROM titles) < 30
BEGIN
UPDATE titles SET price = price * 2
IF (SELECT MAX(price) FROM titles) > 50
BREAK
ELSE
CONTINUE
END
12/03/15
Võ Phương Bình – ITFAC - DLU
8
Cấu trúc lệnh trong SP (tt)
GOTO
Cú pháp:
table_loop:
-- SQL
IF (Biểu thức logic) GOTO table_loop
12/03/15
Võ Phương Bình – ITFAC - DLU
9
Tạo Store Procedure
trong Enterprise Manager
Chọn Database chuột phải\chọn New
Store Procedure viết mã.
12/03/15
Võ Phương Bình – ITFAC - DLU
10