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

แสดงโครงสร้าง Stored Procedure ใน MySQL ด้วย SHOW CREATE PROCEDURE

คำสั่ง SHOW CREATE PROCEDURE

ใช้เพื่อดู Definition (โค้ดสร้าง) ของ Stored Procedure ที่มีอยู่แล้ว รวมถึง Character Set, Collation, SQL Mode และ Definer

Syntax

SHOW CREATE PROCEDURE procedure_name;

ตัวอย่างเต็ม

สร้าง Procedure:

DELIMITER //
CREATE PROCEDURE sample_Procedure()
BEGIN
    SELECT 'HELLO MYSQL!!!!';
END //
DELIMITER ;

เรียกใช้งาน:

CALL sample_Procedure();

แสดงโครงสร้าง:

SHOW CREATE PROCEDURE sample_Procedure;

ผลลัพธ์ (จัดรูปแบบให้อ่านง่าย):

ColumnValue
Proceduresample_Procedure
sql_modeSTRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
Create ProcedureCREATE DEFINER=`root`@`%` PROCEDURE `sample_Procedure`() BEGIN SELECT "HELLO MYSQL!!!!"; END
character_set_clientutf8
collation_connectionutf8_general_ci
Database Collationutf8_unicode_ci

คอลัมน์สำคัญในผลลัพธ์

  • Procedure: ชื่อ Procedure
  • sql_mode: SQL Mode ที่มีผลตอน CREATE (สำคัญต่อพฤติกรรม)
  • Create Procedure: โค้ดเต็มที่สามารถ Copy ไป Run ใหม่ได้ (รวม DEFINER)
  • character_set_client / collation_connection: Encoding ตอนสร้าง
  • Database Collation: Collation ของ Database ปัจจุบัน

คำสั่งที่เกี่ยวข้อง

  • SHOW PROCEDURE STATUS; - รายการ Procedure ทั้งหมด พร้อม Metadata
  • SHOW PROCEDURE STATUS WHERE Db = 'db_name'; - กรองตาม Database
  • SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'; - Query แบบละเอียดจาก Information Schema

ใช้งานจริง: Backup/Version Control

-- Export ทุก Procedure ใน Database
SELECT CONCAT('SHOW CREATE PROCEDURE ', ROUTINE_NAME, ';')
FROM information_schema.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_SCHEMA = 'my_db';