Làm thế nào để tạo các thủ tục được lưu trữ trong SQL?



Bài viết này về thủ tục trong SQL sẽ giúp bạn hiểu thủ tục là gì và cách chúng tăng hiệu suất của cơ sở dữ liệu khi được triển khai.

Thủ tục là các chương trình con có thể được tạo và lưu trong như các đối tượng cơ sở dữ liệu. Cũng giống như bạn có thể làm bằng các ngôn ngữ khác, bạn có thể tạo và thả các thủ tục trong SQL cũng. Trong bài viết này, hãy cùng khám phá các thủ tục trong SQL với cú pháp và ví dụ.

Các chủ đề thảo luận trong bài viết là:





Thủ tục trong SQL là gì?

Một thủ tục trong (thường được gọi là thủ tục lưu trữ),là một đơn vị có thể tái sử dụng đóng gói logic nghiệp vụ cụ thể của ứng dụng. Thủ tục SQL là một nhóm các câu lệnh và logic SQL, được biên dịch và lưu trữ cùng nhau để thực hiện một tác vụ cụ thể.

Thủ tục SQL - Thủ tục trong SQL - Edureka



Dưới đây là danh sách các tính năng chính của thủ tục SQL:

sự khác biệt giữa đầu bếp và con rối
  • Dễ thực hiện vì chúng sử dụng mộtngôn ngữ cấp cao, được đánh máy mạnh
  • Hỗ trợ ba loại tham số, cụ thể là,các tham số đầu vào, đầu ra và đầu vào - đầu ra.
  • Đáng tin cậy hơn tương đươngcác thủ tục bên ngoài.
  • Các thủ tục SQL thúc đẩy khả năng tái sử dụng và khả năng bảo trì.
  • Hỗ trợ một mô hình xử lý lỗi và điều kiện đơn giản nhưng mạnh mẽ.
  • Trả lại giá trị trạng thái cho một thủ tục hoặc lô gọi để biểu thị thành công hay thất bại và lý do thất bại.

Bây giờ bạn đã biết thủ tục là gì và tại sao chúng cần thiết, hãy thảo luận về cú pháp và ví dụ về thủ tục trong SQL.

Cú pháp của các thủ tục trong SQL

Sau đây minh họa cú pháp cơ bản của việc tạo một thủ tục trong SQL:



TẠO [HOẶC THAY THẾ] PROCEDURE procedure_name [(tên_thông_số [IN | OUT | IN OUT] type [])] IS BEGIN [phần khai báo] execute_section // Câu lệnh SQL được sử dụng trong quy trình lưu trữ

Thuật ngữ cú pháp

Tham số

Tham số là một biến có giá trị bất kỳkiểu dữ liệu SQL hợp lệ mà qua đó chương trình con có thể trao đổi các giá trị với mã chính. Nói cách khác, parameters được sử dụng để chuyển các giá trị cho thủ tục. Có 3 loại thông số khác nhau, như sau:

  • TRONG : Tcủa anh ấy là Tham số mặc định, luôn nhận các giá trị từ chương trình đang gọi. Nó là một biến chỉ đọc bên trong các chương trình con và giá trị của nó không thể thay đổi bên trong chương trình con.
  • NGOÀI: Nó làđược sử dụng để lấy đầu ra từ các chương trình con.
  • NGOÀI RA: Điều nàytham số được sử dụng cho cả đầu vào và nhận đầu ra từ các chương trình con.

Các thuật ngữ khác

  • tên thủ tục chỉ định tên của thủ tục. Nó phải là duy nhất.
  • Tùy chọn [HOẶC THAY THẾ] cho phép sửa đổi quy trình hiện có.
  • LÀ | Mệnh đề AS, họ đặtngữ cảnh để thực thi thủ tục được lưu trữ.Sự khác biệt là, từ khóa ‘IS’ được sử dụng khi thủ tục được lồng vào một số khối khác và nếu thủ tục là độc lập thì ‘AS’ được sử dụng.
  • Code_Block khai báo các câu lệnh thủ tục xử lý tất cả các quá trình trong thủ tục được lưu trữ. Nội dung của code_block phụ thuộc vào các quy tắc và ngôn ngữ thủ tục được sử dụng bởi cơ sở dữ liệu .

Thủ tục trong SQL: Ví dụ

Ví dụ 1

Ví dụ sau tạo một thủ tục đơn giản hiển thị thông báo chào mừng trên màn hình khi được thực thi. Sau đó, thủ tục sẽ là:

TẠO HOẶC THAY THẾ THỦ TỤC welcome_msg (para1_name TRONG VARCHAR2) LÀ BẮT ĐẦU dbms_output.put_line (‘Hello World!’ || para1_name) HẾT /

Thực hiện thủ tục đã lưu trữ. Một thủ tục độc lập có thể được gọi theo hai cách & trừ

  • Sử dụng HÀNH HÌNH từ khóa
  • Gọi tên của thủ tục từ một khối SQL

Quy trình trên có thể được gọi bằng cách sử dụng từ khóa Execute như sau:

EXEC welcome_msg (‘Chào mừng đến với Edureka!’)

Đầu ra

Chào thế giới! Chào mừng đến với Edureka

Thủ tục được thực hiện và thông báo được in ra dưới dạng “Hello World! Chào mừng đến với Edureka ”.

Ví dụ2

Giả sử bạn có một bảng với các chi tiết Emplyoee, chẳng hạn như EmployeId, Firstname, Lastname và DepartmentDetails.

Ví dụ này tạo một thủ tục SQL sẽ trả về tên nhân viên khi EmployeId được đưa ra làm tham số đầu vào cho thủ tục được lưu trữ. Sau đó, thủ tục sẽ là:

Tạo THỦ TỤC GetStudentName (@employeeID INT, tham số --Input, EmployeID của nhân viên @employeName VARCHAR (50) OUT - Tham số đầu ra, nhân viên KẾT THÚC

Các bước thực hiện:

cách tạo ứng dụng salesforce
  • Khai báo @employeName là nvarchar (50)
  • EXEC GetStudentName 01, đầu ra @employeName
  • chọn @employeName

Quy trình trên khi nhập id nhân viên làm đầu vào trả về tên của nhân viên cụ thể đó. Giả sử nếu chúng ta có một tham số đầu ra then trước tiên chúng ta cần khai báo biến để thu thập các giá trị đầu ra.Bây giờ chúng ta hãy kiểm tra những ưu điểm của thủ tục trong SQL.

Ưu điểm của các thủ tục trong SQL

Mục đích chính của các thủ tục được lưu trữ trong SQL là ẩn trực tiếp Truy vấn SQL từ mã và cải thiện hiệu suất của các hoạt động cơ sở dữ liệu như chọn, cập nhật và xóa dữ liệu. Các ưu điểm khác của thủ tục trong SQL là:

  • Giảm lượng thông tin được gửi đến máy chủ cơ sở dữ liệu. Nó có thể trở thành một lợi ích quan trọng hơn khi băng thông của mạng ít hơn.
  • Cho phép tái sử dụng mã
  • Tăng cường bảo mật vì bạn có thể cấp quyền cho người dùng thực hiện thủ tục Đã lưu trữ thay vì cấp quyền trên các bảng được sử dụng trong thủ tục Đã lưu trữ.
  • Hỗ trợ các cuộc gọi thủ tục lồng nhau đến các thủ tục SQL khác hoặc các thủ tục được triển khai bằng các ngôn ngữ khác.

Để kết thúc, các thủ tục trong SQL (các thủ tục được lưu trữ)không chỉ tăng cường khả năng sử dụng lại mã mà còn tăng hiệu suất của cơ sở dữ liệu. Làm sao? Bằng cách giảm lưu lượng của mạng bằng cách giảm lượng thông tin được gửi qua mạng. Với điều này, chúng ta đã đi đến phần cuối của bài viết này.

Nếu bạn muốn tìm hiểu thêm về MySQL và tìm hiểu cơ sở dữ liệu quan hệ nguồn mở này, sau đó xem đi kèm với đào tạo trực tiếp do người hướng dẫn và trải nghiệm dự án thực tế. Khóa đào tạo này sẽ giúp bạn hiểu sâu về MySQL và giúp bạn thành thạo về chủ đề này.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết ‘Thủ tục trong SQL này và chúng tôi sẽ liên hệ lại với bạn.