Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีแก้ไข (ALTER) Stored Procedure ใน MySQL


หากเรามีสิทธิ์ ALTER ROUTINE สำหรับ Procedure เราสามารถแก้ไข Stored Procedure ของ MySQL ได้ด้วยคำสั่ง ALTER PROCEDURE เพื่อสาธิต เราใช้ตัวอย่าง Stored Procedure ชื่อ delete_studentinfo ซึ่งมีคำสั่งสร้างดังนี้:

mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G 
*************************** 1. row *************************** 
    Procedure: Delete_studentinfo 
    sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 
    Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `Delete_studentinfo`( IN p_id INT) BEGIN DELETE FROM student_info WHERE ID=p_id; END 
character_set_client: cp850 collation_connection: cp850_general_ci 
    Database Collation: latin1_swedish_ci 
1 row in set (0.01 sec)

จากชุดผลลัพธ์ข้างต้น ชัดเจนว่าไม่มี Comment ใน Stored Procedure delete_studentinfo ตอนนี้ด้วยคำสั่ง ALTER PROCEDURE เราสามารถเพิ่ม Comment ได้ดังนี้:

mysql> ALTER PROCEDURE Delete_studentinfo 
    -> COMMENT 'deleting the record'// 
Query OK, 0 rows affected (0.03 sec)

ตอนนี้สามารถยืนยันได้ว่ามีการเพิ่ม Comment ใน Stored Procedure แล้ว ด้วยชุดผลลัพธ์ของคำสั่งต่อไปนี้:

mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G 
*************************** 1. row *************************** 
    Procedure: Delete_studentinfo 
    sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 
    Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `Delete_studentinfo`( IN p_id INT) COMMENT 'deleting the record' BEGIN DELETE FROM student_info WHERE ID=p_id; END 
character_set_client: cp850 collation_connection: cp850_general_ci 
    Database Collation: latin1_swedish_ci 
1 row in set (0.00 sec)