
Bài 6: Thủtục lưu trữ(Stored Procedure)
1. Khái niệm
2. Phân loại thủ tục
3. Tạo thủ tục
4. Các câu lệnh điều khiển
5. Lời gọi thủ tục
6. Giá trị trả về trong thủ tục
7. Tham số với giá trị mặc định
8. Sửa, xóa thủ tục

Bài 6: Thủtục thường trú (Stored Procedure )
1. Khái niệm:
Thủ tục là một chương trình con cho các ứng dụng
truy cập vào một hệ thống quản lý cơ sở dữ liệu quan
hệ (Wikipedia)
Thủ tục là một đối tượng của CSDL, nó được tạo ra từ
một kịch bản câu lệnh SQL
Thủ tục có nhiều ưu điểm so với thực hiện câu lệnh
SQL từ các máy khách:
+Lập trình theo module
+Thực hiện nhanh hơn
+Làm giảm lưu lượng trên mạng
+An ninh bảo mật hơn

Bài 6: Thủtục thường trú (Stored Procedure)
2. Phân loại thủ tục: có 5 loại
System Stored Procedure.
Là thủ tục được lưu trữ trong CSDL Master, được bắt đầu
bằng chữ sp_ được sử dụng trong quản trị CSDL và an
ninh bảo mật.
Ví dụ:Muốn biết tất cả các tiến trình đang thực hiện bởi
user nào:
sp_who @loginame='sa'

Bài 6: Thủtục thường trú (Stored Procedure)
2. Phân loại thủ tục: có 5 loại
Local Stored Procedure.
Đây là loại thủ tục thường dùng nhất, nằm trong CSDL
do người dùng tạo ra, thực hiện một công việc nào đó.
Thủ tục loại này thường được tạo bởi DBA (Database
Administrator) hoặc người lập trình.
Temporary Stored Procedure.
Có chức năng tương tự như Local Stored Procedure
nhưng thủ tục loại này tự hủy khi kết nối tạo ra nó ngắt
hoặc SQL Server ngưng hoạt động và nó được tạo ra
trên CSDL TempDB.

Bài 6: Thủtục thường trú (Stored Procedure)
2. Phân loại thủ tục: có 5 loại
Extended Stored Procedure.
Đây là loại thủ tục sử dụng chương trình ngoại vi đã
được biên dịch thành DLL. Tên thủ tục được bắt đầu
bằng xp_.Ví dụ thủ tục xp_sendmail dùng để gửi mail,
thủ tục xp_cmdshell dùng để thực hiện lệnh của DOS
(xp_cmdshell ‘dir c:\’).
Remote Stored Procedure:
Là loại thủ tục sử dụng thủ tục của một server khác.

