SQL CREATE PROCEDURE

Giới thiệu về SQL CREATE PROCEDURE

Trong cơ sở dữ liệu quan hệ, một thủ tục (procedure) là một tập hợp các câu lệnh SQL được lưu trữ trong cơ sở dữ liệu và được đặt tên. Thủ tục cho phép người dùng thực hiện những tác vụ phức tạp một cách dễ dàng bằng cách gọi tên thủ tục mà không cần phải viết lại mã lệnh SQL mỗi lần. Câu lệnh SQL CREATE PROCEDURE được sử dụng để tạo ra một thủ tục trong cơ sở dữ liệu.

Định nghĩa

Câu lệnh CREATE PROCEDURE được sử dụng để tạo ra một thủ tục có thể được gọi để thực hiện một tác vụ cụ thể nào đó trên cơ sở dữ liệu. Thủ tục có thể nhận tham số đầu vào và có thể trả về giá trị đầu ra, giúp tối ưu hóa hiệu suất và quản lý mã nguồn dễ dàng hơn.

Cú pháp

CREATE PROCEDURE procedure_name (parameter1 datatype, parameter2 datatype, ...)
BEGIN
    -- Các câu lệnh SQL ở đây
END;

Trong đó:

  • procedure_name: Tên của thủ tục.
  • parameter1, parameter2: Các tham số đầu vào cho thủ tục.
  • datatype: Kiểu dữ liệu của các tham số.

Ví dụ

Ví dụ 1: Tạo thủ tục đơn giản

CREATE PROCEDURE GetEmployeeCount()
BEGIN
    SELECT COUNT(*) FROM Employees;
END;

Thủ tục này sẽ trả về số lượng nhân viên trong bảng Employees. Để gọi thủ tục này, bạn có thể sử dụng:

CALL GetEmployeeCount();

Ví dụ 2: Tạo thủ tục với tham số đầu vào

CREATE PROCEDURE GetEmployeeByID(IN empID INT)
BEGIN
    SELECT * FROM Employees WHERE EmployeeID = empID;
END;

Thủ tục này sẽ nhận vào một ID nhân viên và trả về thông tin của nhân viên đó. Để gọi thủ tục này, bạn làm như sau:

CALL GetEmployeeByID(1);

Ví dụ 3: Thủ tục với tham số đầu ra

CREATE PROCEDURE GetTotalSalary(OUT totalSalary DECIMAL(10, 2))
BEGIN
    SELECT SUM(Salary) INTO totalSalary FROM Employees;
END;

Thủ tục này sẽ tính tổng lương của tất cả nhân viên và lưu vào biến đầu ra totalSalary. Để gọi thủ tục này, đầu tiên bạn cần khai báo biến:

SET @total = 0;
CALL GetTotalSalary(@total);
SELECT @total;

Kết luận

Câu lệnh CREATE PROCEDURE trong SQL là một công cụ mạnh mẽ giúp bạn tổ chức và đơn giản hóa mã nguồn. Nó rất hữu ích trong việc tái sử dụng mã và tối ưu hóa quy trình làm việc với cơ sở dữ liệu. Hy vọng rằng bài viết này đã giúp bạn có cái nhìn tổng quan về cách tạo và sử dụng thủ tục trong SQL.