Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Đổi tên bảng trong thủ tục lưu trữ MySQL với ALTER RENAME

Bên trong Stored Procedure, dùng ALTER TABLE ten_cu RENAME ten_moi để đổi tên bảng. Lưu ý: DDL trong procedure gây commit ngầm, không thể rollback.

Ví dụ minh họa

Tạo bảng và thủ tục đổi tên:

mysql> CREATE TABLE DemoTable1859 (Id INT);
mysql> INSERT INTO DemoTable1859 VALUES(101),(102);

mysql> DELIMITER //
CREATE PROCEDURE alter_table_name_sp()
BEGIN
    ALTER TABLE DemoTable1859 RENAME exampleTable;
END //
DELIMITER ;

Gọi thủ tục và kiểm tra:

mysql> CALL alter_table_name_sp();
mysql> SELECT * FROM exampleTable;

Kết quả:

+------+
| Id   |
+------+
|  101 |
|  102 |
+------+

Cảnh báo: DDL trong procedure khóa metadata, chặn truy vấn khác. Tránh dùng trong môi trường production concurrent cao.