diff --git a/bpmm02_spread.txt b/bpmm02_spread.txt index 6b0390a..38a0fac 100644 --- a/bpmm02_spread.txt +++ b/bpmm02_spread.txt @@ -184,11 +184,12 @@ main_block: BEGIN -- update 原單(hrs_leave), flow_level 及 flowstatus SELECT source_table, source_pk INTO v_tablename, v_source_pk FROM bpm_list WHERE flow_id = p_uuid; - -- 動態更新原表 + -- 動態更新原表(用 QUOTE 代替多單引號) SET @sql = CONCAT( - 'UPDATE ', v_tablename, ' SET flow_status = ''P''', - ', flow_signer = ''', IFNULL(v_all_signers, ''), '''', - ' WHERE ', v_source_pk, ' = ''', p_source_pk_value, '''' + 'UPDATE ', v_tablename, + ' SET flow_status = ', QUOTE('P'), + ', flow_signer = ', QUOTE(IFNULL(v_all_signers, '')), + ' WHERE ', v_source_pk, ' = ', QUOTE(p_source_pk_value) ); PREPARE stmt FROM @sql; diff --git a/bpmm02_udf_next_signer.txt b/bpmm02_udf_next_signer.txt index b797754..063ffde 100644 --- a/bpmm02_udf_next_signer.txt +++ b/bpmm02_udf_next_signer.txt @@ -15,13 +15,13 @@ CREATE OR REPLACE FUNCTION bpmm02_udf_next_signer( ==== ========== ========== ================================================ 1 Michael 2022/11/27 Init */ -RETURNS TEXT +RETURNS VARCHAR(1000) BEGIN DECLARE v_imax INT; DECLARE v_imin INT; DECLARE v_inow INT; DECLARE v_signerid VARCHAR(20); - DECLARE v_all_signers TEXT; + DECLARE v_all_signers VARCHAR(1000); DECLARE v_lastsep VARCHAR(1); DECLARE v_rowid INT;