Thông tin tài liệu
MICROSOFT STUDENT PARTNER 2009
MICROSOFT STUDENT PARTNER 2009
ĐỀ TÀI :
ĐỀ TÀI :
MICROSOFT STUDENT
MICROSOFT STUDENT
PARTNER 2009
PARTNER 2009
2
2
MỤC TIÊU :
MỤC TIÊU :
Căn bản Hiểu được Stored Procedure trong SQL
Căn bản Hiểu được Stored Procedure trong SQL
Server.
Server.
Tạo được 1 vài Stored Procedures (ở mức cơ bản).
Tạo được 1 vài Stored Procedures (ở mức cơ bản).
MICROSOFT STUDENT
MICROSOFT STUDENT
PARTNER 2009
PARTNER 2009
3
3
NỘI DUNG :
NỘI DUNG :
Phần 1 : Tổng quan về Stored Procedure (Khái Niệm,
Phần 1 : Tổng quan về Stored Procedure (Khái Niệm,
Phân Loại Stored Procedure).
Phân Loại Stored Procedure).
Phần 2 : Các Ví dụ Minh họa.
Phần 2 : Các Ví dụ Minh họa.
MICROSOFT STUDENT
MICROSOFT STUDENT
PARTNER 2009
PARTNER 2009
4
4
TÀI LIỆU THAM KHẢO :
TÀI LIỆU THAM KHẢO :
Giáo Trình Hệ Quản Trị Cơ Sở Dữ Liệu SQL Server,
Giáo Trình Hệ Quản Trị Cơ Sở Dữ Liệu SQL Server,
Trường Đại Học Công Nghiệp Tp.Hồ Chí Minh,
Trường Đại Học Công Nghiệp Tp.Hồ Chí Minh,
2008.
2008.
SQL Server Book Online.
SQL Server Book Online.
SQL Server 2005 : Lập Trình Nâng Cao – Phạm Hữu
SQL Server 2005 : Lập Trình Nâng Cao – Phạm Hữu
Khang, Đoàn Thiện Ngân, Nhà Xuất Bản Lao Động
Khang, Đoàn Thiện Ngân, Nhà Xuất Bản Lao Động
Xã Hội, năm 2008.
Xã Hội, năm 2008.
Lập trình Windows Nâng Cao (C#) : Xây dựng Ứng
Lập trình Windows Nâng Cao (C#) : Xây dựng Ứng
Dụng với ADO.NET, Trường Đại Học Công Nghiệp
Dụng với ADO.NET, Trường Đại Học Công Nghiệp
Tp.Hồ Chí Minh, 2008.
Tp.Hồ Chí Minh, 2008.
MICROSOFT STUDENT
MICROSOFT STUDENT
PARTNER 2009
PARTNER 2009
5
5
PHẦN 1 :
PHẦN 1 :
TỔNG QUAN VỀ
TỔNG QUAN VỀ
STORED PROCEDURE
STORED PROCEDURE
MICROSOFT STUDENT
MICROSOFT STUDENT
PARTNER 2009
PARTNER 2009
6
6
1.1 Giới thiệu Stored Procedure (SP) :
1.1 Giới thiệu Stored Procedure (SP) :
Store Procedure (SP) :
Store Procedure (SP) :
“A precompiled collection of
“A precompiled collection of
Transact-SQL statements stored under a name and
Transact-SQL statements stored under a name and
processed as a unit. SQL Server supplies stored
processed as a unit. SQL Server supplies stored
procedures for managing SQL Server and displaying
procedures for managing SQL Server and displaying
information about databases and users”.
information about databases and users”.
Lý do sử dụng : Khi duyệt hay xử lý Dữ Liệu trong
Lý do sử dụng : Khi duyệt hay xử lý Dữ Liệu trong
Cơ Sở Dữ Liệu SQL Server,
Cơ Sở Dữ Liệu SQL Server,
ngôn ngữ SQL
ngôn ngữ SQL
(Structured Query Language)
(Structured Query Language)
là ngôn ngữ thực thi
là ngôn ngữ thực thi
hiệu quả nhất
hiệu quả nhất
.
.
Do đó, khi tính toán với lượng lớn Dữ
Do đó, khi tính toán với lượng lớn Dữ
Liệu trong SQL Server, ta nên sử dụng đối tượng SP
Liệu trong SQL Server, ta nên sử dụng đối tượng SP
để xây dựng đoạn Chương trình và giải quyết vấn đề
để xây dựng đoạn Chương trình và giải quyết vấn đề
nếu cần thiết.
nếu cần thiết.
MICROSOFT STUDENT
MICROSOFT STUDENT
PARTNER 2009
PARTNER 2009
7
7
1.1 Giới thiệu Stored Procedure (SP) :
1.1 Giới thiệu Stored Procedure (SP) :
SP chứa các lệnh T-SQL để thực thi 1 nhiệm vụ
SP chứa các lệnh T-SQL để thực thi 1 nhiệm vụ
(task). SP được thiết kế, mã hóa, kiểm tra và biên
(task). SP được thiết kế, mã hóa, kiểm tra và biên
dịch thành mã thực thi (single execution plan) đặt
dịch thành mã thực thi (single execution plan) đặt
ngay trên server. Các ứng dụng (application) khi cần
ngay trên server. Các ứng dụng (application) khi cần
thực thi nhiệm vụ, chỉ cần gọi SP. Server sẽ chạy
thực thi nhiệm vụ, chỉ cần gọi SP. Server sẽ chạy
execution plan và trả kết quả về lại client.
execution plan và trả kết quả về lại client.
Thực thi nhanh hơn
Thực thi nhanh hơn
Giảm lưu lượng mạng (network traffic)
Giảm lưu lượng mạng (network traffic)
MICROSOFT STUDENT
MICROSOFT STUDENT
PARTNER 2009
PARTNER 2009
8
8
1.1 Giới thiệu Stored Procedure :
1.1 Giới thiệu Stored Procedure :
SP trong SQL Server tương tự như thủ tục trong các
SP trong SQL Server tương tự như thủ tục trong các
Ngôn Ngữ Lập trình khác :
Ngôn Ngữ Lập trình khác :
Nhận các tham số từ bên ngoài và trả về nhiều giá trị.
Nhận các tham số từ bên ngoài và trả về nhiều giá trị.
Bao gồm một số phát biểu thực hiện các tác vụ trong
Bao gồm một số phát biểu thực hiện các tác vụ trong
Cơ Sở Dữ Liệu, và có thể gọi các thủ tục khác.
Cơ Sở Dữ Liệu, và có thể gọi các thủ tục khác.
Trả về trạng thái Thành Công hay Thất Bại của quá
Trả về trạng thái Thành Công hay Thất Bại của quá
trình gọi Thủ tục hay bó (Batch) trong Cơ sở Dữ
trình gọi Thủ tục hay bó (Batch) trong Cơ sở Dữ
Liệu.
Liệu.
Lưu ý : SP khác với Functions : chúng
Lưu ý : SP khác với Functions : chúng
không thể trả
không thể trả
về giá trị trực tiếp trong Biểu Thức
về giá trị trực tiếp trong Biểu Thức
.
.
MICROSOFT STUDENT
MICROSOFT STUDENT
PARTNER 2009
PARTNER 2009
9
9
1.2 Lợi ích khi dùng Stored Procedures :
1.2 Lợi ích khi dùng Stored Procedures :
Lập trình theo từng Module.
Lập trình theo từng Module.
Tạo 1 lần và có thể
Tạo 1 lần và có thể
gọi bất kỳ lúc nào
gọi bất kỳ lúc nào
từ các Ứng
từ các Ứng
Dụng.
Dụng.
Thực thi nhanh hơn (do nó đã được biên dịch trước).
Thực thi nhanh hơn (do nó đã được biên dịch trước).
Giảm bớt việc
Giảm bớt việc
nghẽn đường truyền trên mạng
nghẽn đường truyền trên mạng
, do SP
, do SP
được xử lý trong Cơ Sở Dữ Liệu và trả về kết quả.
được xử lý trong Cơ Sở Dữ Liệu và trả về kết quả.
Sau đó từ Ứng Dụng, bạn chỉ cần
Sau đó từ Ứng Dụng, bạn chỉ cần
đọc kết quả này và
đọc kết quả này và
trình bày cho Người Sử Dụng.
trình bày cho Người Sử Dụng.
Sử dụng Cơ Chế
Sử dụng Cơ Chế
Bảo Mật
Bảo Mật
, người sử dụng cần thiết
, người sử dụng cần thiết
được
được
Cấp Quyền Thực Thi SP
Cấp Quyền Thực Thi SP
.
.
MICROSOFT STUDENT
MICROSOFT STUDENT
PARTNER 2009
PARTNER 2009
10
10
1.3 Phân loại Stored Procedure :
1.3 Phân loại Stored Procedure :
Chủ yếu có 2 loại :
Chủ yếu có 2 loại :
Thủ tục Hệ Thống (System
Thủ tục Hệ Thống (System
Stored Procedure)
Stored Procedure)
và
và
Thủ tục do Người Dùng tạo ra
Thủ tục do Người Dùng tạo ra
(User – Defined Stored Procedure).
(User – Defined Stored Procedure).
[...]... thi thủ tục liệt kê danh sách các Database có trong SQL Server MICROSOFT STUDENT PARTNER 2009 12 1.3.1 System Stored Procedures : Kết quả : MICROSOFT STUDENT PARTNER 2009 13 1.3.1 System Stored Procedures : Được chia thành các Nhóm sau : (xem thêm SQL Server Book Online”) SP dùng để liệt kê Thông tin (liệt kê danh sách database, liệt kê danh sách Linked Servers, …) SP dùng để trình bày Thông Tin...1.3.1 System Stored Procedures : “A set of SQL Server- supplied stored procedures that can be used for actions such as retrieving information from the system catalog or performing administration tasks” Ghi chú : Các tác vụ Quản Trị (administration tasks) bao gồm : Liệt kê, Thêm, Cập Nhật, Xóa đối tượng Cơ Sở Dữ Liệu MICROSOFT STUDENT PARTNER 2009 11 1.3.1 System Stored Procedures : Kí... PARTNER 2009 14 1.3.1 System Stored Procedures : Ngoài ra, SQL Server còn cung cấp một số Thủ tục Hệ Thống mở rộng, với tên tiền tố là xp_ Ví dụ : xp_cmdshell, xp_sendmail MICROSOFT STUDENT PARTNER 2009 15 1.3.1 System Stored Procedures : Minh họa (xp_cmdshell) : // liệt kê danh sách Thư Mục và Tập Tin MICROSOFT STUDENT PARTNER 2009 16 1.3.2 User – Defined Stored Procedures : Là các SP... Defined Stored Procedures : Tạo 1 SP : Cú pháp : CREATE PROC [ EDURE ] procedure_ name [; number] [ { @parameter data_type } [ VARYING ] [ = default ] [ OUTPUT ] ] [ , n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_ statement [ n ] MICROSOFT STUDENT PARTNER 2009 22 1.3.2 User – Defined Stored Procedures : Giải thích : Procedure_ name : tên Procedure. .. tạo Lưu ý : procedure toàn cục – global procedure (# #procedure_ name), procedure cục bộ - local procedure ( #procedure_ name) ;number : là 1 tùy chọn (optional) kiểu Số Nguyên (integer), để nhóm các SP có cùng tên lại với nhau (ví dụ : orderproc;1, orderproc;2), và sẽ cùng bị xóa bằng lệnh DROP PROC (ví dụ Drop Proc orderproc) MICROSOFT STUDENT PARTNER 2009 23 1.3.2 User – Defined Stored Procedures :... 25 1.3.2 User – Defined Stored Procedures : ENCRYPTION : SQL Server sẽ mã hóa (Encrypt) Danh Mục (trong table syscomments) có chứa nội dung của câu lệnh Create Proc Dùng để ngăn không cho Thủ tục bị xuất (published) thành 1 phần bản sao của SQL Server FOR REPLICATION : 1 SP được tạo kèm theo tùy chọn “FOR REPLICATION”, sẽ được dùng như 1 bộ lọc SP và chỉ thực thi trong quá trình Replication Không... trong quá trình Replication Không sử dụng cùng với tùy chọn “WITH RECOMPILE” AS sql_ statement [ n ] : các lệnh T -SQL kèm theo trong SP (Xem Ví dụ Minh Họa trong “Phần 2”) MICROSOFT STUDENT PARTNER 2009 26 1.3.2 User – Defined Stored Procedures : Thay đổi thủ tục : Cú pháp (tương tự CREATE PROC) : ALTER PROC [ EDURE ] procedure_ name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default... một execution plan cho các lệnh trong thủ tục Compilation — trong quá trình biên dịch, thủ tục được phân tích và execution plan được tạo ra Execution plan được nạp vào bộ nhớ (procedure cache) MICROSOFT STUDENT PARTNER 2009 18 1.3.2 User – Defined Stored Procedures : Một số quy tắc khi tạo SP : Mỗi thủ tục chỉ nên hoàn thành 1 nhiệm vụ Lệnh tạo thủ tục (CREATE PROCEDURE) không thể chứa các lệnh... MICROSOFT STUDENT PARTNER 2009 29 2.1 Tạo 1 User – Defined Stored Procedure (có Tham số truyền vào) : Các Biến Cục Bộ (Local variables) nhận giá trị từ bên ngoài truyền vào MICROSOFT STUDENT PARTNER 2009 30 2.1 Tạo 1 User – Defined Stored Procedure (có Tham số truyền vào) Kết quả : MICROSOFT STUDENT PARTNER 2009 31 2.2 Tạo 1 User – Defined Stored Procedure (có sử dụng Output Parameter) Biến Toàn Cục (Global... Defined Stored Procedures : { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } : Recompile : SP sẽ được biên dịch lại trong lúc Thực Thi (run time) Dùng tùy chọn “recompile” khi ta dùng các giá trị tạm hoặc các giá trị không điển hình (atypical values) mà không muốn ghi đè (override) lên execution plan (bảng thực thi) được trữ sẵn trong bộ nhớ MICROSOFT STUDENT PARTNER 2009 25 1.3.2 User – Defined Stored . được Stored Procedure trong SQL Căn bản Hiểu được Stored Procedure trong SQL Server. Server. Tạo được 1 vài Stored Procedures (ở mức cơ bản). Tạo được 1 vài Stored Procedures (ở mức cơ bản). MICROSOFT. processed as a unit. SQL Server supplies stored processed as a unit. SQL Server supplies stored procedures for managing SQL Server and displaying procedures for managing SQL Server and displaying. 2009 8 8 1.1 Giới thiệu Stored Procedure : 1.1 Giới thiệu Stored Procedure : SP trong SQL Server tương tự như thủ tục trong các SP trong SQL Server tương tự như thủ tục trong các Ngôn Ngữ Lập
Ngày đăng: 29/03/2014, 12:20
Xem thêm: STORED PROCEDURE TRONG SQL SERVER (PHẦN CƠ BẢN) pot, STORED PROCEDURE TRONG SQL SERVER (PHẦN CƠ BẢN) pot, PHẦN 1 : TỔNG QUAN VỀ STORED PROCEDURE, 3 Phân loại Stored Procedure :, PHẦN 2 : CÁC VÍ DỤ MINH HỌA