Cái nào sau đây được sử dụng để gọi thủ tục này trong cơ sở dữ liệu mysql

Các thủ tục được lưu trữ trong MySQL là các đối tượng chứa một hoặc nhiều câu lệnh SQL để sử dụng lại. Chúng thường chứa logic kinh doanh. Robert Sheldon trình bày cách tạo và gọi các thủ tục được lưu trữ

Bài viết này là một phần trong loạt bài tiếp theo của Robert Sheldon về Học MySQL. Để xem tất cả 11 mục trong sê-ri, hãy nhấp vào đây

Giống như hầu hết các hệ thống quản lý cơ sở dữ liệu quan hệ, MySQL hỗ trợ việc sử dụng các thủ tục được lưu trữ có thể được gọi theo yêu cầu bởi các ứng dụng dựa trên dữ liệu. Mỗi thủ tục được lưu trữ là một đối tượng cơ sở dữ liệu được đặt tên chứa một thường trình được tạo thành từ một hoặc nhiều câu lệnh SQL. Khi một ứng dụng gọi thủ tục lưu sẵn, MySQL sẽ thực thi các câu lệnh đó và trả về kết quả cho ứng dụng.  

Một thói quen của thủ tục có thể bao gồm nhiều loại câu lệnh, bao gồm ngôn ngữ định nghĩa dữ liệu (DDL) và ngôn ngữ thao tác dữ liệu (DML). Các thủ tục được lưu trữ của MySQL cũng hỗ trợ việc sử dụng các tham số đầu vào và đầu ra, làm cho chúng trở thành một công cụ rất linh hoạt để đóng gói logic câu lệnh

Các thủ tục được lưu trữ cho phép sử dụng lại mã SQL thường xuyên khi cần, giúp đơn giản hóa việc phát triển ứng dụng và giảm các lỗi câu lệnh. Các nhà phát triển không phải viết các truy vấn phức tạp cho từng yêu cầu của ứng dụng và các nhóm QA không cần dành nhiều thời gian để xác minh các truy vấn khi kiểm tra ứng dụng

Khả năng sử dụng lại mã cũng làm giảm lưu lượng mạng vì thủ tục được lưu trữ có thể được gọi bằng một câu lệnh CALL duy nhất, bất kể truy vấn cơ bản phức tạp đến mức nào. Các thủ tục được lưu trữ cũng có thể mang lại mức độ bảo mật cao hơn bằng cách trừu tượng hóa cấu trúc cơ sở dữ liệu cơ bản và loại bỏ các truy vấn đặc biệt ở cấp ứng dụng

Trong bài viết này, tôi trình bày cách tạo và cập nhật thủ tục lưu sẵn, cũng như gọi chúng bằng câu lệnh CALL. Bạn sẽ học cách xây dựng cả quy trình cơ bản và quy trình được tham số hóa sử dụng các tham số đầu vào và đầu ra. Cũng như các bài viết trước trong loạt bài này, tôi đã sử dụng phiên bản Cộng đồng MySQL trên máy tính Windows để xây dựng các ví dụ mà tôi đã tạo trong MySQL Workbench, giao diện người dùng đồ họa (GUI) đi kèm với phiên bản Cộng đồng

Chuẩn bị môi trường MySQL của bạn

Các ví dụ trong bài viết này dựa trên cơ sở dữ liệu travel, cũng là cơ sở dữ liệu mà tôi đã sử dụng cho bài viết trước về chế độ xem MySQL. Bài viết này sử dụng các bảng và dữ liệu tương tự để trình bày cách làm việc với các thủ tục được lưu trữ. Nếu bạn đã thử các ví dụ trong bài viết trước, cơ sở dữ liệu travel có thể vẫn được cài đặt trên phiên bản MySQL của bạn. Nếu không, bạn có thể sử dụng tập lệnh SQL sau để tạo cơ sở dữ liệu và các bảng của nó

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

THẢI CƠ SỞ DỮ LIỆU NẾU TỒN TẠI du lịch;

TẠO CƠ SỞ DỮ LIỆU du lịch;

SỬ DỤNG du lịch;

TẠO BẢNG nhà sản xuất (

  manufacturer_id INT CHƯA KÝ KHÔNG NULL AUTO_INCREMENT,

  nhà sản xuất VARCHAR(50) NOT NULL,

  create_date DẤU THỜI GIAN NOT NULL DEFAULT CURRENT_TIMESTAMP,

  last_update DẤU THỜI GIAN NOT NULL

    MẶC ĐỊNH CURRENT_TIMESTAMP BẬT CẬP NHẬT CURRENT_TIMESTAMP,

  CHÍNH CHÍNH KEY (manufacturer_id) )

ENGINE=InnoDB AUTO_INCREMENT=1001;

TẠO BẢNG máy bay (

  plane_id INT KHÔNG ĐƯỢC KÝ KHÔNG NULL AUTO_INCREMENT,

  máy bay VARCHAR(50) NOT NULL,

  manufacturer_id INT CHƯA KÝ KHÔNG NULL,

  engine_type VARCHAR(50) NOT NULL,

  engine_count TINYINT NOT NULL,

  max_weight VỪA KHÔNG ĐƯỢC KÝ KHÔNG NULL,

  sải cánh THẬP PHÂN(5,2) NOT NULL,

  plane_length DECIMAL(5,2) NOT NULL,

  parking_area INT ĐƯỢC TẠO LUÔN LUÔN AS

              ((sải cánh * plane_length)) STORED,

  icao_code CHAR(4) NOT NULL,

  create_date DẤU THỜI GIAN NOT NULL DEFAULT CURRENT_TIMESTAMP,

  last_update DẤU THỜI GIAN NOT NULL

    MẶC ĐỊNH CURRENT_TIMESTAMP BẬT CẬP NHẬT CURRENT_TIMESTAMP,

  CHÍNH CHÍNH KEY (plane_id),

  HÀNG CHẾ fk_manufacturer_id FOREIGN KEY (manufacturer_id)

    TÀI LIỆU THAM KHẢO nhà sản xuất (manufacturer_id) )

ENGINE=InnoDB AUTO_INCREMENT=101;

Bảng airplanes bao gồm một khóa ngoại tham chiếu đến bảng manufacturers, vì vậy hãy đảm bảo tạo các bảng theo thứ tự hiển thị ở đây. Sau khi tạo bảng, bạn có thể thêm dữ liệu mẫu vào bảng để có thể kiểm tra quy trình được lưu trữ của mình. Để điền vào bảng, hãy chạy các câu lệnh INSERT sau

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

CHÈN VÀO nhà sản xuất (nhà sản xuất)

GIÁ TRỊ ('Airbus'),

Chủ đề