DELIMITER // CREATE OR REPLACE PROCEDURE zen_read_schema ( IN p_tablename VARCHAR(100) ) /* 功能:讀取資料表結構資訊 範例:CALL zen_read_schema('pmsproject_class'); */ BEGIN SELECT t.TABLE_NAME AS '表格名稱', c.COLUMN_NAME AS '欄位名稱', c.ORDINAL_POSITION AS '序號', c.DATA_TYPE AS '資料型別', IFNULL(c.CHARACTER_MAXIMUM_LENGTH, '') AS '長度', '' AS '預設值', CASE WHEN c.IS_NULLABLE = 'YES' THEN 'N' ELSE 'Y' END AS '是否允許空值', IFNULL( (SELECT COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = t.TABLE_SCHEMA AND TABLE_NAME = t.TABLE_NAME AND COLUMN_NAME = c.COLUMN_NAME), '' ) AS '欄位描述' FROM INFORMATION_SCHEMA.TABLES t LEFT JOIN INFORMATION_SCHEMA.COLUMNS c ON t.TABLE_NAME = c.TABLE_NAME AND t.TABLE_SCHEMA = c.TABLE_SCHEMA WHERE t.TABLE_TYPE = 'BASE TABLE' AND t.TABLE_NAME = p_tablename ORDER BY t.TABLE_NAME, c.ORDINAL_POSITION; END// DELIMITER ;