Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thủ tục lưu trữ thay thế MySQL

Đôi khi bạn có thể cần phải chỉnh sửa thủ tục đã lưu trữ hoặc thay đổi thủ tục được lưu trữ trong MySQL. Dưới đây là cách chỉnh sửa quy trình được lưu trữ bằng cách sử dụng câu lệnh MySQL ALTER PROCEDURE.

Thủ tục lưu trữ thay thế MySQL

Dưới đây là các bước để thay đổi thủ tục được lưu trữ trong MySQL bằng cách sử dụng câu lệnh ALTER PROCEDURE.

Giả sử bạn có quy trình được lưu trữ sau trong MySQL.

mysql> DELIMITER //
       CREATE PROCEDURE get_orders()
       BEGIN
       SELECT *  FROM orders;
       END //

      DELIMITER ;

mysql> call get_orders;
+----+------------+--------+----------+
| id | order_date | amount | sequence |
+----+------------+--------+----------+
|  1 | 2020-08-01 |    250 |        1 |
|  2 | 2020-08-02 |    125 |        4 |
|  3 | 2020-08-03 |    300 |        9 |
+----+------------+--------+----------+

Phần thưởng đã đọc:Danh sách tất cả các thủ tục của MySQL

Cách chỉnh sửa thủ tục đã lưu trữ trong dòng lệnh MySQL

Mặc dù MySQL cung cấp câu lệnh ALTER PROCEDURE, nó không cho phép bạn thay đổi nội dung hoặc các tham số của thủ tục được lưu trữ. Nó chỉ cho phép bạn thay đổi các đặc điểm của thủ tục được lưu trữ

Đây là cú pháp của ALTER PROCEDURE

ALTER PROCEDURE proc_name [characteristic ...]

characteristic: {
    COMMENT 'string'
  | LANGUAGE SQL
  | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
  | SQL SECURITY { DEFINER | INVOKER }
}

Dưới đây là một ví dụ để thêm nhận xét bằng cách sử dụng truy vấn ALTER PROCEDURE.

ALTER PROCEDURE get_orders
COMMENT 'test comment';

Phần thưởng đã đọc:Đặt lại mật khẩu gốc của MySQL

Tuy nhiên, nếu bạn muốn thay đổi truy vấn, nội dung hoặc các tham số của thủ tục được lưu trữ trong dòng lệnh MySQL, thì bạn cần XÓA THỦ TỤC và sau đó TẠO THỦ TỤC với định nghĩa mới. Dưới đây là một ví dụ để cập nhật truy vấn của thủ tục được lưu trữ get_orders được xác định ở trên.

mysql> drop procedure get_orders;

mysql> DELIMITER //
          CREATE PROCEDURE get_orders()
            BEGIN
            SELECT order_date, amount  FROM orders;
            END //
       DELIMITER ;

mysql> call get_orders;
+------------+--------+
| order_date | amount |
+------------+--------+
| 2020-08-01 |    250 |
| 2020-08-02 |    125 |
| 2020-08-03 |    300 |
+------------+--------+

Hy vọng rằng bây giờ bạn có thể thay đổi thủ tục được lưu trữ trong MySQL.

Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ứng dụng Android có thể kết nối trực tiếp với cơ sở dữ liệu mysql trực tuyến không

  2. Chọn tất cả các cột ngoại trừ một trong MySQL?

  3. MySQL - làm thế nào để mã zip phía trước bằng 0?

  4. MySQL Preferred Engine - MyISAM hoặc InnoDB

  5. Cài đặt Innotop để giám sát hiệu suất máy chủ MySQL