![nhung-dieu-nen-biet-ve-stored-procedure-sp](https://static.devworks.jp/images/blogs/3H4gJ2yKPkK5yjRXAyntx40Gd9WIKC4xMqvZWqu2.jpg)
Hôm nay chúng ta cùng tìm hiểu về STORED PROCEDURE với mình trong phần kiến thức hôm nay. Hay còn gọi tắt là SP.
STORED PROCEDURE (SP) trong SQL là gì?
Stored Procedure là 1 phần không thể thiếu của SQL Server. Chúng có thể hỗ trợ rất nhiều cho lập trình và cấu hình cơ sở dữ liệu.
Một Stored Procedure là bao gồm các câu lệnh Transact-SQL và được lưu lại trong cơ sở dữ liệu. Các lập trình viên chỉ cần gọi ra và thực thi thông qua SQL Server Management Studio hoặc ngay trong ứng dụng đang phát triển.
Transact-SQL dựa trên SQL, nó là một ngôn ngữ lập trình được sử dụng làm trung gian giữa cơ sở dữ liệu và các ứng dụng. Nó tương đối dễ học vì thực chất nó được tạo bởi hầu hết là các lệnh SQL.
Mục đích sử dụng SP
- Nó là tập hợp các khối lệnh, dùng để tái sử dụng. Bạn cứ hình dung nó như hàm ở các ngôn ngữ lập trình vậy (function/method).
- Có thể truyền tham số khi gọi nó.
Hướng dẫn cách sử dụng SP trong SQL
Tạo SP
Cú pháp
CREATE PROCEDURE procedure_name ([parameter[,...]])
BEGIN
sql_statement
END;
Cách gọi để thực thi:
CALL procedure_name;
Ví dụ
Tạo ra một SP để đăng ký thông tin khám bệnh dựa trên 3 thông tin được đưa vào: mã bác sĩ (p_doctor_id), mã bệnh nhân (p_patient_id), phí khám bệnh (p_fee)
Với phần lệnh sẽ thực hiện đăng ký dữ liệu vào các table lần lượt là: medical_record (sổ khám bệnh), doctor_treatment (bác sĩ khám bệnh).
Sử dụng hàm LAST_INSERT_ID() để lấy mã sổ (record_id) vừa thêm vào table medical_record.
Cuối cùng, thực hiện hiển thị ra toàn bộ thông tin.
delimiter //
CREATE PROCEDURE sp_register_treatment (p_doctor_id INT
, p_patient_id INT
, p_fee DOUBLE)
BEGIN
INSERT INTO medical_record (date_of_examination, fee, patient_id)
VALUES (CURDATE(), p_fee, p_patient_id);
INSERT INTO doctor_treatment (doctor_id, record_id)
VALUES (p_doctor_id, LAST_INSERT_ID());
SELECT d.doctor_id, d.last_name, mr.fee, p.patient_id, p.`name`
FROM doctor d
INNER JOIN doctor_treatment dt ON d.doctor_id = dt.doctor_id
INNER JOIN medical_record mr ON dt.record_id = mr.record_id
INNER JOIN patient p ON mr.patient_id = p.patient_id
WHERE mr.record_id = LAST_INSERT_ID();
END //
delimiter ;
Thực hiện gọi SP thực thi bởi từ khoá CALL:
CALL sp_register_treatment(9, 3, 70000);
Hướng dẫn cách sử dụng SP trong SQL
Xoá SP
Cú pháp
DROP PROCEDURE procedure_name
Ví dụ
Xoá SP ở đã tạo ở bên trên:
DROP PROCEDURE sp_register_treatment
Tham số và biến ở SP
Ở SP sẽ hỗ trợ 3 dạng tham số: IN, OUT, INOUT. Với ý nghĩa như sau:
- IN: kiểu tham số chỉ truyền giá trị vào SP.
- OUT: kiểu tham số chỉ tham gia SP và lấy giá trị khi kết thúc SP.
- INOUT: kiểu tham kết hợp IN + OUT.
Còn muốn tạo ra biến lưu trữ giá trị khi thao tác với dữ liệu, thì hãy tạo như thế này:
DECLARE total INT DEFAULT 0;
SET total = 10;
Mình đang thực hiện tạo ra biến total có kiểu dữ liệu là số, với giá trị mặc định là 0. Sau đó tiếp tục thực hiện phép gán bởi từ khoá SET, giá trị của total cuối cùng là 10.
Kết luận
Như bạn đã thấy, STORED PROCEDURE khá giống như hàm ở các ngôn ngữ khác, nhưng ở đây nó hỗ trợ đa dạng về kiểu tham số và cú pháp sẽ phức tạp hơn so với các ngôn ngữ thông thường
Xem thêm: https://devwork.vn/blog/nhung-trang-web-tuyen-dung-danh-cho-dan-it
![Devwork](/_nuxt/img/logo-dark.2cac76e.png)
Devwork là Nền tảng TUYỂN DỤNG IT CẤP TỐC với mô hình kết nối Nhà tuyển dụng với mạng lưới hơn 30.000 headhunter tuyển dụng ở khắp mọi nơi.Với hơn 1800 doanh nghiệp IT tin dùng Devwork để :
Tag Cloud:
Tác giả: quyenntt
Việc làm tại Devwork
Bài viết liên quan
![test-man-hinh-iphone](/_ipx/f_webp/https://static.devworks.jp/images/blogs/pmIjj6vfmL9ZRo7gW95WCd5EmDc5xdPwL6POrEy2.jpg)
TOP 4 cách test màn hình iPhone - bắt bệnh thường gặp
Test màn hình iPhone là công việc nhất thiết phải thực hiện trước khi bạn muốn mua một chiếc iPhone đã qua sử dụng. Vậy cần chú ý gì khi kiểm tra màn hình iPhone? Bài viết sau đây sẽ chia sẻ những thông tin mà bạn đọc cần biết về vấn đề này....
DR là gì? Tại sao điểm DR cao lại quan trọng trong SEO?
Trong thế giới SEO (Search Engine Optimization), thuật ngữ DR thường xuyên được nhắc đến khi đánh giá sức mạnh của một website. Nhưng DR là gì và tại sao điểm DR cao lại đóng vai trò quan trọng trong chiến lược tối ưu hóa website? Bài viết dưới đây sẽ giải thích chi tiết để bạn hiểu rõ hơn.
![dr-la-gi-tai-sao-diem-dr-cao-lai-quan-trong-trong-seo](/_ipx/f_webp/https://static.devworks.jp/images/blogs/wKQm7YERMhkbeoPMVvcP33kSjup2kPWVOhFldWJG.png)
Nên Hay Không Nên Dùng Dịch Vụ Thuê Nhân Sự IT Onsite?
Việc thuê nhân sự IT onsite mang lại nhiều lợi ích nhưng cũng có những hạn chế cần cân nhắc. Devwork.vn, với những lợi thế vượt trội của mình, là đối tác đáng tin cậy cho các doanh nghiệp đang tìm kiếm giải pháp nhân sự IT chất lượng. Nếu bạn đang cân nhắc sử dụng dịch vụ này, hãy liên hệ với Devwork.vn để được tư vấn và hỗ trợ tốt nhất.
![nen-hay-khong-nen-dung-dich-vu-thue-nhan-su-it-onsite](/_ipx/f_webp/https://static.devworks.jp/images/blogs/jVxiMZ7xVl0MbAisJD2RIpuauSFOWwOMY3TV0F2V.png)
Dịch Vụ Cho Thuê Nhân Sự IT - IT Onsite
Devwork.vn là một trong những đơn vị tiên phong tại Việt Nam trong lĩnh vực cung cấp dịch vụ cho thuê nhân sự IT. Với mục tiêu mang đến cho doanh nghiệp nguồn nhân lực IT chất lượng và đáng tin cậy, Devwork.vn đã và đang trở thành đối tác tin cậy của nhiều doanh nghiệp cả trong và nước.
![dich-vu-cho-thue-nhan-su-it-it-onsite](/_ipx/f_webp/https://static.devworks.jp/images/blogs/S0citLMn1uO3FJ25nKAxwdXARDcLJA8LHHW72b1K.png)
![cac-level-trong-cntt-cach-phan-biet-va-danh-gia-nang-luc](/_ipx/f_webp/https://static.devworks.jp/images/blogs/dRyP2gDm8FK2V75SoCaUnvGCjnxaxpoLazFFPGPV.png)
Các Level Trong CNTT. Cách Phân Biệt Và Đánh Giá Năng Lực
Trong ngành công nghệ, các thuật ngữ về lập trình viên được phân chia theo hệ thống cấp bậc rõ ràng. Tùy vào từng cấp độ mà có sự đánh giá nhất định về trình độ, kinh nghiệm và mức độ trách nghiệm riêng.
![mau-hop-dong-nhan-su-moi-nhat-2024](/_ipx/f_webp/https://static.devworks.jp/images/blogs/uV1l9U4Qrmgot4DRxPazYD1sDyumsCDoiG1Um4z4.png)
Mẫu Hợp Đồng Nhân Sự Mới Nhất 2025
Hợp đồng lao động là văn bản pháp lý ghi nhận sự thỏa thuận giữa người lao động và người sử dụng lao động về công việc, quyền và nghĩa vụ của mỗi bên trong quan hệ lao động. Dưới đây là một số mẫu hợp đồng lao động mới nhất năm 2024 mà các doanh nghiệp có thể tham khảo để sử dụng.
![devwork](/_ipx/f_webp/tuyendung.gif)