first commit
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
DELIMITER //
|
||||
|
||||
CREATE OR REPLACE PROCEDURE zen_updatesource (
|
||||
IN p_functiontag VARCHAR(100),
|
||||
IN p_version VARCHAR(100),
|
||||
IN p_jsoncode MEDIUMTEXT
|
||||
)
|
||||
/*
|
||||
function : 回寫 json code 的內容(前端有修改傳入)
|
||||
description:
|
||||
build date : 2021/10/17
|
||||
|
||||
call sample:
|
||||
CALL zen_updatesource('abc01','beta','json-code')
|
||||
|
||||
modify history
|
||||
item who date modify docs
|
||||
==== ========== ========== ================================================
|
||||
1 michael 2021-10-17 新增
|
||||
2 Michael 2023-07-09 新增根據 sys_parameter 的 ver_type 判斷版本
|
||||
3 Michael 2024/03/06 擴充 json4 及 json5 2個欄位
|
||||
*/
|
||||
BEGIN
|
||||
DECLARE v_zcode MEDIUMTEXT;
|
||||
DECLARE v_pvalue VARCHAR(100);
|
||||
DECLARE v_cnt INT;
|
||||
DECLARE v_final_version VARCHAR(100) DEFAULT IFNULL(p_version, 'beta');
|
||||
|
||||
-- 依設定的程式版本別設定變數 2023/07/09
|
||||
-- 檢查 sys_parameter 表是否存在
|
||||
IF (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'sys_parameter') > 0 THEN
|
||||
SELECT pvalue INTO v_pvalue FROM sys_parameter WHERE systemid = 'base' AND pid = 'ver_type' LIMIT 1;
|
||||
IF v_pvalue IS NOT NULL AND v_pvalue <> '' THEN
|
||||
SET v_final_version = v_pvalue;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
SET v_zcode = p_jsoncode;
|
||||
|
||||
-- 去除編輯用的特殊字串 2024-02-13
|
||||
IF INSTR(v_zcode, '_W_') > 0 THEN
|
||||
SET v_zcode = REPLACE(v_zcode, '_W_', '');
|
||||
END IF;
|
||||
|
||||
-- 檢查記錄是否存在
|
||||
SELECT COUNT(*) INTO v_cnt FROM zen_jsoncode WHERE functiontag = p_functiontag AND version = v_final_version;
|
||||
|
||||
-- 如果不存在就新增,否則更新
|
||||
-- SET v_zcode = REPLACE(v_zcode, '\n', '');
|
||||
IF v_cnt <= 0 THEN
|
||||
INSERT INTO zen_jsoncode (functiontag, version, jsoncode)
|
||||
VALUES (p_functiontag, v_final_version, v_zcode);
|
||||
ELSE
|
||||
UPDATE zen_jsoncode
|
||||
SET jsoncode = v_zcode
|
||||
WHERE functiontag = p_functiontag AND version = v_final_version;
|
||||
END IF;
|
||||
|
||||
-- 回傳成功結果
|
||||
SELECT 0 AS code, 'OK' AS msg;
|
||||
END //
|
||||
|
||||
DELIMITER ;
|
||||
Reference in New Issue
Block a user