Trong bài này bạn sẽ được tìm hiểu khái niệm về stored procedure trong SQL Server, qua đó bạn sẽ biết được cách tạo mới, thực thi, thay đổi và xóa stored procedure.
Mục lục
- 1. Stored Procedure là gì?
- 2. Tạo Stored Procedure trong SQL Server
- 3. Gọi Stored Procedure trong SQL Server
- 4. Thay đổi Stored Procedure trong SQL Server
- 5. Xóa Stored Procedure trong SQL Server
1. Stored Procedure là gì?
Stored procedure là tập hợp một hoặc nhiều câu lệnh T-SQL thành một nhóm đơn vị xử lý logic và được lưu trữ trên Database Server. Khi một câu lệnh gọi chạy stored procedure lần đầu tiên thì SQL Server sẽ chạy nó và lưu trữ vào bộ nhớ đệm, gọi là plan cache, những lần tiếp theo SQL Server sẽ sử dụng lại plan cache nên sẽ cho tốc độ xử lý tối ưu.
Stored procedure rất tiện lợi cho người quản trị database (DBA), nó giúp DBA tạo ra những nhóm câu lệnh và gửi đến một bô phận khác mà họ sẽ không cần quan tâm đến nội dung bên trong stored procedure có gì, họ chỉ quan tâm đến tham số đầu vào và đầu ra.
Ví dụ bạn viết một stored procedure lấy danh sách sản phẩm bán chạy theo ngày, sau đó bạn gửi stored này qua bộ phận development kèm theo tài liệu hướng dẫn sử dụng thì lúc này bộ phận DEV không cận quan tâm đến nội dung bên trong của stored mà chỉ cần thông tin tham số truyền vào và kết quả trả về của stored.
2. Tạo Stored Procedure trong SQL Server
Chúng ta hãy bắt đầu bằng những ví dụ đơn giản nhất nhé. Giả sử mình có câu truy vấn lấy danh sách sản phẩm như sau:
1 2 3 4 5 6 7 | SELECT product_name, list_price FROM production.products ORDER BY product_name; |
Để tạo một stored procedure chứa câu truy vấn này thì mình sẽ viết như sau:
1 2 3 4 5 6 7 8 9 10 11 | CREATE PROCEDURE uspProductList AS BEGIN SELECT product_name, list_price FROM production.products ORDER BY product_name; END ; |
Như vậy cú pháp tạo stored procedure như sau:
1 2 3 4 5 | CREATE PROCEDURE stored_name AS BEGIN .... END ; |
Trong đó stored_name
là tên của stored mà bạn muốn đặt. Như ở ví dụ ở trên thì tên của nó là uspProductList
. Đối với câu lệnh CREATE PROCEDURE
thì bạn có thể rút ngắn thành CREATE PROC
.
Bây giờ bạn hãy chạy câu SQL tạo stored bằng cách click vào nút Execute ở trên thanh công cụ như hình chụp dưới đây.
Nếu bạn làm đúng tất cả thì sẽ nhận được kết quả là:
1 | Commands completed successfully. |
Để xem danh sách stored procedure đã tạo trong SQL Server thì bạn hãy vào database -> Programmability > Stored Procedures. Trường hợp không xuất hiện stored vừa tạo thì hãy click dấu xoay tròn để reload.
3. Gọi Stored Procedure trong SQL Server
Để gọi một stored procedure thì bạn sử dụng lệnh EXECUTE
hoặc EXEC
theo sau là tên của stored.
1 | EXECUTE sp_name; |
Hoặc
1 | EXEC sp_name; |
Như ở ví dụ phần 2 thì kết quả sẽ như hình sau:
4. Thay đổi Stored Procedure trong SQL Server
Để thay đổi stored thì bạn sử dụng lệnh ALTER PROCEDURE và tên của stored sẽ nằm phía sau.
Ví dụ giờ muốn muốn thay đổi cách sắp xếp kết quả trả về từ product_name thành list_price của spuspProductList
thì viết như sau:
1 2 3 4 5 6 7 8 9 10 11 | ALTER PROCEDURE uspProductList AS BEGIN SELECT product_name, list_price FROM production.products ORDER BY list_price END ; |
Hoặc bạn click chuột phải vào stored cần sửa, sau đó chọn menu Modify thì nó sẽ hiển thị ra một trang query mới với cấu trúc của stored cũ.
5. Xóa Stored Procedure trong SQL Server
Để xóa stored procedure thì bạn sử dụng lệnh DROP PROCEDURE
hoặc DROP PROC
.
1 2 3 | DROP PROCEDURE sp_name; # Hoặc DROP PROC sp_name |
Trong đó sp_name là tên của stored muốn xóa.
Ví dụ mình muốn xóa stored procedure có tên là uspProductList thì sẽ viết như sau:
1 | DROP PROCEDURE uspProductList; |
Như vậy trong bài này đã giới thiệu khái niệm stored procedure là gì, và qua đây bạn cũng đã biết các thao tác như: Tạo stored, sửa stored, chạy stored và xóa stored. Chúc bạn học tốt và hẹn gặp lại bài tiếp theo.
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty