Thứ Ba, 12 tháng 1, 2021

SQL Stored Procedures trong SQL Server

Thủ tục lưu trữ là gì?

Thủ tục được lưu trữ là một mã SQL đã chuẩn bị sẵn mà bạn có thể lưu, do đó, mã có thể được sử dụng lại nhiều lần.

Vì vậy, nếu bạn có một truy vấn SQL mà bạn viết đi viết lại nhiều lần, hãy lưu nó dưới dạng một thủ tục được lưu trữ, sau đó chỉ cần gọi nó để thực thi nó.

Bạn cũng có thể chuyển các tham số cho một thủ tục được lưu trữ, để thủ tục được lưu trữ có thể hoạt động dựa trên (các) giá trị tham số được truyền vào.

Cú pháp thủ tục được lưu trữ

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

Thực hiện một thủ tục đã lưu trữ

EXEC procedure_name;

Cơ sở dữ liệu Demo

Dưới đây là lựa chọn từ bảng "Khách hàng" trong cơ sở dữ liệu mẫu của Northwind:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1

Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4

Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Ví dụ về thủ tục được lưu trữ

Câu lệnh SQL sau tạo một thủ tục được lưu trữ có tên "SelectAllCustomers" chọn tất cả các bản ghi từ bảng "Khách hàng":

Thí dụ

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

Thực hiện quy trình đã lưu trữ ở trên như sau:

Thí dụ

EXEC SelectAllCustomers;

Quy trình được lưu trữ với một tham số

Câu lệnh SQL sau tạo một thủ tục được lưu trữ để chọn Khách hàng từ một Thành phố cụ thể từ bảng "Khách hàng":

Thí dụ

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;

Thực hiện quy trình đã lưu trữ ở trên như sau:

Thí dụ

EXEC SelectAllCustomers @City = 'London';

Quy trình được lưu trữ với nhiều tham số

Việc thiết lập nhiều tham số rất dễ dàng. Chỉ cần liệt kê từng tham số và kiểu dữ liệu được phân tách bằng dấu phẩy như hình dưới đây.

Câu lệnh SQL sau tạo một thủ tục được lưu trữ chọn Khách hàng từ một Thành phố cụ thể với Mã Bưu điện cụ thể từ bảng "Khách hàng":

Thí dụ

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;

Thực hiện quy trình đã lưu trữ ở trên như sau:

Thí dụ

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';
==================================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 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: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Đị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

#OracleTutorial #OracleDBA #OracleDatabaseAdministration #học oracle database #oca #ocp #tự học oracle

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master