first commit
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
DELIMITER //
|
||||
|
||||
CREATE OR REPLACE PROCEDURE get_keyvalue(
|
||||
IN p_tablename VARCHAR(20),
|
||||
IN p_fieldname VARCHAR(20)
|
||||
)
|
||||
/*
|
||||
Function : 配合 amis 的 select 元件,取得 key-value 資料
|
||||
Description: 從 zen_keyvalue 表獲取鍵值對資料,用於下拉選項
|
||||
合併了原有的 zen_keyvalue 和 sys_keyvalue 表功能
|
||||
Build Date : 2023/07/19 (MariaDB 版本)
|
||||
|
||||
Modify History
|
||||
Item Who Date Modify Docs
|
||||
==== ========== ========== ================================================
|
||||
1 Michael 2022/05/28 初始版本
|
||||
2 Michael 2025/07/20 改寫為 MariaDB 並最佳化(ChatGPT+DeepSeek)
|
||||
*/
|
||||
BEGIN
|
||||
DECLARE v_count INT;
|
||||
|
||||
-- 設置默認返回值
|
||||
SELECT 0 AS code, 'ok' AS msg;
|
||||
|
||||
-- 檢查指定表名和欄位名的記錄是否存在
|
||||
SELECT COUNT(*) INTO v_count
|
||||
FROM zen_keyvalue
|
||||
WHERE tablename = p_tablename
|
||||
AND fieldname = p_fieldname;
|
||||
|
||||
-- 根據查詢結果返回資料
|
||||
IF v_count > 0 THEN
|
||||
-- 返回指定表名和欄位名的鍵值對
|
||||
SELECT
|
||||
keyid AS `value`,
|
||||
keyvalue AS `label`
|
||||
FROM zen_keyvalue
|
||||
WHERE tablename = p_tablename
|
||||
AND fieldname = p_fieldname;
|
||||
ELSE
|
||||
-- 返回默認欄位名的鍵值對
|
||||
SELECT
|
||||
keyid AS `value`,
|
||||
keyvalue AS `label`
|
||||
FROM zen_keyvalue
|
||||
WHERE tablename = 'xxxx'
|
||||
AND fieldname = p_fieldname;
|
||||
END IF;
|
||||
END //
|
||||
|
||||
DELIMITER ;
|
||||
Reference in New Issue
Block a user