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:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
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