Files
Omni_wizard.db/tools/zen_read_schema.txt
T
2026-02-06 14:44:08 +08:00

38 lines
1.0 KiB
Plaintext

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 ;