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

    Việc làm tại Devwork

    khám phá các cơ hội việc làm tốt nhất tại Devwork Xem thêm

    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
    cach-fake-ip-tren-may-tinh

    Cách fake IP trên máy tính: Hướng dẫn đơn giản, ai cũng làm được

    09:03 08/07/2025

    Sử dụng cách fake địa chỉ IP trên máy tính giúp bạn tăng cường quyền riêng tư, ẩn danh khi lướt web và truy cập được các nội dung bị giới hạn theo vùng. Vậy làm thế nào để thực hiện chuyển IP một cách nhanh chóng và hiệu quả? Bài viết dưới đây từ Devwork sẽ hướng dẫn bạn cách fake IP trên máy tính đơn giản, dễ làm và hoàn toàn miễn phí....

    Top phần mềm cắt ghép ảnh trên máy tính đẹp, tốt nhất hiện nay

    08:55 08/07/2025

    Bạn đang tìm kiếm một phần mềm cắt ghép ảnh trên máy tính để biến những bức hình đơn điệu thành tác phẩm nghệ thuật? Giữa vô vàn lựa chọn trên thị trường, việc tìm ra phần mềm chân ái cho mình không hề dễ. Đừng lo lắng, bài viết này của Devwork sẽ giúp bạn khám phá top các phần mềm ghép ảnh trên máy tính tốt nhất hiện nay, đáp ứng mọi nhu cầu từ cá nhân đến công việc. Cùng theo dõi ngay nhé!

    phan-mem-cat-ghep-anh-tren-may-tinh

    Top 7 phần mềm cắt ghép ảnh trên điện thoại đẹp, dễ dùng nhất

    08:51 08/07/2025

    Chỉnh sửa ảnh không còn là “đặc quyền” của dân thiết kế chuyên nghiệp. Với sự phát triển của các phần mềm cắt ghép ảnh trên điện thoại, ai cũng có thể tạo nên những bức ảnh ấn tượng chỉ trong vài phút. Dù bạn dùng iPhone hay Android, chỉ cần vài cú chạm là có ngay ảnh đẹp như ý muốn. Bài viết này Devwork sẽ giới thiệu đến bạn những ứng dụng dễ dùng và đang được yêu thích nhất hiện nay!

    phan-mem-cat-ghep-anh-tren-dien-thoai

    Top 5 phần mềm đọc PDF miễn phí, nhẹ và hiệu quả nhất 

    07:11 07/07/2025

    Trong thời đại số hiện nay, tài liệu định dạng PDF đã trở thành một phần không thể thiếu trong công việc và học tập. Tuy nhiên, để có trải nghiệm xem và tương tác với file PDF một cách hiệu quả, việc sở hữu một phần mềm đọc PDF phù hợp là điều cực kỳ quan trọng. Bài viết này của Devwork sẽ giúp bạn khám phá những phần mềm để đọc PDF tốt nhất, đầy đủ tính năng để bạn dễ dàng lựa chọn ứng dụng ưng ý.

    phan-mem-doc-pdf
    kiem-tra-toc-do-mang-internet

    Cách kiểm tra tốc độ mạng Internet chính xác và nhanh chóng nhất

    07:01 07/07/2025

    Mạng Internet chập chờn, tải chậm, video giật lag không chỉ gây khó chịu mà còn ảnh hưởng trực tiếp đến công việc, học tập và giải trí mỗi ngày. Việc kiểm tra tốc độ mạng Internet là bước đơn giản nhưng cần thiết để xác định nguyên nhân và tìm giải pháp cải thiện chất lượng kết nối. Bài viết này Devwork sẽ hướng dẫn bạn các cách kiểm tra tốc độ mạng chính xác, dễ thực hiện và hiệu quả ngay tại nhà, đồng thời gợi ý mẹo nhỏ giúp đường truyền ổn định hơn.

    cach-chup-man-hinh-may-tinh-dell

    Cách chụp màn hình máy tính Dell đơn giản cho mọi phiên bản Windows

    06:57 07/07/2025

    Muốn lưu lại một đoạn hội thoại quan trọng, hướng dẫn kỹ thuật, hay chỉ đơn giản là khoảnh khắc hài hước trên màn hình – chụp màn hình máy tính Dell là thao tác không thể thiếu. Trong bài viết này, Devwork sẽ hướng dẫn bạn từng bước để chụp màn hình máy Dell một cách chuyên nghiệp, từ phím tắt đến công cụ hỗ trợ. Hãy cùng chúng tôi tìm hiểu ngay trong bài viết dưới đây nhé!