Những điều nên biết về STORED PROCEDURE (SP)

Blog / Tin công nghệ 04/12/2023
nhung-dieu-nen-biet-ve-stored-procedure-sp
Phụ lục

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

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 để :

  • Tối ưu chi phí
  • Tiết kiệm thời gian
  • Tăng tốc tuyển dụng tối đa
  • Đăng ký ngay Devwork trong hôm nay để tuyển dụng những tài năng ưu tú nhất.

    Tag Cloud:

    Tác giả: quyenntt

    Link chia sẻ

    Bình luận

    Bài viết liên quan

    Danh sách bài viết liên quan có thể bạn sẽ thích Xem thêm
    thue-it-onsite-va-tuyen-ky-su-it-truc-tiep-doanh-nghiep-nen-can-nhac-nhung-yeu-to-nao-utaVA

    Thuê IT Onsite và tuyển kỹ sư IT trực tiếp: Doanh nghiệp nên cân nhắc những yếu tố nào?

    01:13 02/10/2026

    Trước những thách thức trong việc tìm kiếm và giữ chân nhân tài IT, doanh nghiệp phải cân nhắc giữa thuê IT onsite và tuyển dụng trực tiếp. Các yếu tố như chi phí, tính linh hoạt, kiểm soát thông tin, văn hóa doanh nghiệp và chiến lược dài hạn đều cần được đánh giá tỉ mỉ. Nền tảng devwork.vn hỗ trợ doanh nghiệp tối ưu hóa quy trình tuyển dụng IT, mang đến các giải pháp nhân sự hiệu quả và chuyên nghiệp....

    Khi nào doanh nghiệp nên thuê kỹ sư IT Onsite từ công ty cung cấp nhân sự?

    01:02 02/10/2026

    Việc thuê kỹ sư IT Onsite từ các công ty cung cấp nhân sự mang lại nhiều lợi ích khi doanh nghiệp cần triển khai dự án nhanh chóng, yêu cầu chuyên môn đặc thù, tối ưu chi phí nhân sự và đảm bảo chất lượng công việc. Những lợi ích này giúp doanh nghiệp giải quyết hiệu quả các thách thức thường gặp trong tuyển dụng IT. Để tìm kiếm giải pháp tuyển dụng tốt nhất, bạn có thể trải nghiệm nền tảng Devwork.vn, nơi kết nối nhà tuyển dụng với những kỹ sư IT tài năng.

    khi-nao-doanh-nghiep-nen-thue-ky-su-it-onsite-tu-cong-ty-cung-cap-nhan-su-o2gUR

    Thuê IT Onsite có giúp doanh nghiệp linh hoạt hơn trong việc mở rộng đội ngũ công nghệ?

    01:19 01/10/2026

    Bài viết này phân tích chi tiết về việc thuê IT onsite, từ khả năng linh hoạt trong điều chỉnh nhân sự, cải thiện hiệu suất làm việc, giảm thiểu rủi ro và chi phí, đến nâng cao chất lượng dự án. Bên cạnh đó, devwork.vn được giới thiệu như một nền tảng hỗ trợ đắc lực cho doanh nghiệp trong việc tuyển dụng và quản lý nhân sự IT.

    thue-it-onsite-co-giup-doanh-nghiep-linh-hoat-hon-trong-viec-mo-rong-doi-ngu-cong-nghe-Ua1Nh

    IT Onsite giúp rút ngắn thời gian tuyển kỹ sư IT cho doanh nghiệp như thế nào?

    01:11 01/10/2026

    Bài viết này phân tích chi tiết về cách thức IT Onsite giúp rút ngắn thời gian tuyển dụng kỹ sư IT cho doanh nghiệp. Từ việc tích hợp nhanh chóng, giảm thiểu rủi ro tuyển dụng đến việc đảm bảo tính linh hoạt và nâng cao chất lượng dự án, IT Onsite thực sự là giải pháp hữu ích cho các doanh nghiệp trong lĩnh vực công nghệ.

    it-onsite-giup-rut-ngan-thoi-gian-tuyen-ky-su-it-cho-doanh-nghiep-nhu-the-nao-lzYW4
    doanh-nghiep-tiet-kiem-duoc-gi-khi-su-dung-dich-vu-cung-cap-nhan-su-it-onsite-DFTcl

    Doanh nghiệp tiết kiệm được gì khi sử dụng dịch vụ cung cấp nhân sự IT Onsite?

    01:23 30/09/2026

    Bài viết này phân tích chi tiết cách sử dụng dịch vụ cung cấp nhân sự IT Onsite giúp doanh nghiệp tiết kiệm chi phí và tối ưu hóa hiệu quả hoạt động. Từ việc giảm bớt chi phí tuyển dụng đến tăng cường tính linh hoạt trong quản lý, dịch vụ này mang lại nhiều lợi ích cho các công ty trong ngành IT.

    loi-ich-khi-thue-ky-su-it-onsite-theo-du-an-thay-vi-tuyen-dung-dai-han-yw6q7

    Lợi ích khi thuê kỹ sư IT Onsite theo dự án thay vì tuyển dụng dài hạn

    01:20 30/09/2026

    Bài viết phân tích chi tiết các lợi ích khi thuê kỹ sư IT Onsite theo dự án, giúp tiết kiệm chi phí, thời gian tuyển dụng và tăng cường hiệu quả làm việc. Đồng thời, việc sử dụng dịch vụ này còn giảm thiểu rủi ro pháp lý và quản lý cho doanh nghiệp.