first commit

This commit is contained in:
2026-02-06 23:26:59 +08:00
parent 0f3f1467b8
commit 6cf8248b2d
34 changed files with 2348 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
DELIMITER //
CREATE OR REPLACE PROCEDURE sys_transfer_userroles2owned()
BEGIN
/*
function : 配合 amis 的 transfer 元件, 將userroles 寫入暫存在 owned 欄位
description: 本程式基本上只會很低頻率的使用, 因為程式的 SOP 是由 owned -> userrole
不會逆向執行
build date : 2021/10/22
modify history
item who date modify docs
==== ========== ========== ================================================
1 michael 2021-10-17 新增
2 Michael 2025/07/20 改寫為 MariaDB 並最佳化(ChatGPT+DeepSeek)
*/
DECLARE v_done INT DEFAULT FALSE;
DECLARE v_roleid VARCHAR(100);
DECLARE v_userids TEXT;
-- 宣告游標,按 roleid 分組取得所有 userid
DECLARE cur CURSOR FOR
SELECT roleid, GROUP_CONCAT(userid SEPARATOR ',')
FROM sys_userroles
GROUP BY roleid;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE;
OPEN cur;
read_loop: LOOP
FETCH cur INTO v_roleid, v_userids;
IF v_done THEN
LEAVE read_loop;
END IF;
-- 更新 owned 欄位
UPDATE sys_roles SET owned = v_userids WHERE roleid = v_roleid;
END LOOP;
CLOSE cur;
END //
DELIMITER ;