From a181fc113d024ed34d6b488c65882961bd1de3f4 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 02 六月 2020 19:00:57 +0800 Subject: [PATCH] 2020-06-02 --- src/utils/utils.js | 39 +++++++++++++++++++++++---------------- 1 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 2cff539..dd981d9 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -67,10 +67,10 @@ {key: 'alter', reg: /(^|\s)alter\s/ig}, {key: 'truncate', reg: /(^|\s)truncate\s/ig}, {key: 'if', reg: /(^|\s)if\s/ig}, - {key: 'exec', reg: /exec/ig}, - {key: 'OBJECT', reg: /object/ig}, - {key: 'sys.', reg: /sys\./ig}, - {key: 'kill', reg: /kill/ig} + {key: 'exec', reg: /(^|\s)exec(\s|\()/ig}, + {key: 'OBJECT', reg: /(^|\s)object(\s|\()/ig}, + {key: 'sys.', reg: /(^|\s)sys\./ig}, + {key: 'kill', reg: /(^|\s)kill\s/ig} ] if (type === 'customscript') { @@ -1051,10 +1051,15 @@ datasource = '(' + datasource + ') tb' } + let _ID = '=@ID@' + if (btn.Ot === 'requiredOnce') { + _ID = ' in (select ID from dbo.SplitComma(@ID@))' + } + _sql += ` /* 澶辨晥楠岃瘉 */ select @tbid='', @ErrorCode='',@retmsg='' - select @tbid=${primaryKey} from ${datasource} where ${primaryKey} ='${primaryId}' + select @tbid=${primaryKey} from ${datasource} where ${primaryKey} ${_ID} If @tbid='' Begin select @ErrorCode='E',@retmsg='鏁版嵁宸插け鏁�' @@ -1130,18 +1135,20 @@ } verify.uniques.forEach(item => { - console.log(item) - // `鏈夊悓绫绘暟鎹獙璇侊細 - // 涓庡敮涓�鎬ч獙璇佷竴鏍凤紝鍙互閫夊嚑涓瓧娈� - // Set @tbid=鈥欌�� + let _primaryKey = item.field.split(',').includes(primaryKey) ? '' : ',' + primaryKey + + _sql += ` + /* 鍚岀被鏁版嵁楠岃瘉 */ + Set @tbid='' + + Select top 1 @tbid='X' from (select ${item.field}${_primaryKey},1 as n from ${datasource} ) tb inner join (select ID from dbo.SplitComma(@ID@)) sp on tb.${primaryKey}=sp.ID group by ${item.field} having sum(n)>1 - // Select top 1 @tbid=鈥橷鈥� from (select 澶氫釜瀛楁閫楀彿鍒嗛殧,涓婚敭,1 an n from 鏁版嵁婧� ) tb inner join (select ID from dbo.SplitComma(@ID@)) sp on tb.涓婚敭=sp.ID group by 澶氫釜瀛楁閫楀彿鍒嗛殧 having sum(n)>1 - - // If @tbid!=鈥欌�� - // Begin - // Set @errorcode=鈥橢鈥� ,Set @remsg=鈥欏涓瓧娈甸�楀彿鍒嗛殧 鍊间笉鍞竴鈥� goto aaa - // end - // ` + If @tbid!='' + Begin + Set @ErrorCode='E' Set @retmsg='${item.fieldlabel} 鍊间笉鍞竴' + goto aaa + end + ` }) } -- Gitblit v1.8.0