show TABLES like #{tableName}
SELECT * FROM mysql.`innodb_index_stats` a WHERE a.table_name = ${tableName}
select COLUMN_NAME as fieldName,DATA_TYPE as dbType, character_maximum_length as length from information_schema.COLUMNS where table_name = #{tableName} and table_schema = (select database())
select COLUMN_NAME as fieldName,DATA_TYPE as dbType,character_maximum_length as length from information_schema.COLUMNS where table_name = #{tableName} and table_schema = #{dbName}
select ${fields} from ${tableName} where ${where} ${limit}
select DISTINCT ${fields} from ${tableName} where ${where}
${toOrderNo}
AND m.table_name = '${tableName}'
AND (operate = 'create'
OR operate = 'update') ) v
ON v.std_id = a1.id
WHERE v.std_id IS NULL
UNION
SELECT ${tempFields}
FROM
(SELECT mt.*,
m.order_no
FROM ${tableTempName} mt
LEFT JOIN maintain_detail md
ON md.pre_merge_id = mt.id
LEFT JOIN maintain m
ON md.parent_id = m.id
WHERE m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}'
AND operate = 'update' ) AS a1
INNER JOIN
(SELECT std_id,
min(order_no) AS order_no
FROM
(SELECT mt.id,
std_id,
m.order_no
FROM ${tableTempName} mt
LEFT JOIN maintain_detail md
ON md.pre_merge_id = mt.id
LEFT JOIN maintain m
ON md.parent_id = m.id
WHERE m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}'
AND operate = 'update'
AND NOT EXISTS
(SELECT mt1.id
FROM ${tableTempName} mt1
LEFT JOIN maintain_detail md
ON md.pre_merge_id = mt1.id
LEFT JOIN maintain m
ON m.id = md.parent_id
WHERE m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}'
AND operate = 'create'
AND mt1.std_id = mt.std_id ) ) AS gz
GROUP BY std_id ) AS zb
ON a1.std_id = zb.std_id
AND a1.order_no = zb.order_no
UNION
SELECT DISTINCT ${tempFields}
FROM ${tableTempName} a1
LEFT JOIN maintain_detail md
ON md.pre_merge_id = a1.id
LEFT JOIN maintain m
ON m.id = md.parent_id
LEFT JOIN
(SELECT DISTINCT mt1.std_id
FROM ${tableTempName} mt1
LEFT JOIN maintain_detail md
ON md.pre_merge_id = mt1.id
LEFT JOIN maintain m
ON m.id = md.parent_id
WHERE m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}'
AND (operate = 'create'
OR operate = 'update') ) zb
ON zb.std_id = a1.std_id
WHERE zb.std_id is null
AND md.operate = 'delete'
AND m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}' ) a
WHERE ${where} ${limit}
]]>
${fromOrderNo} and f.id is null
UNION
SELECT ${tempFields}, md.operate, f.`status` from ${tableTempName} a1
LEFT JOIN maintain_detail md on md.pre_merge_id = a1.id
LEFT JOIN maintain m on m.id = md.parent_id
LEFT JOIN flows f on flow_id = f.id
WHERE order_no > ${fromOrderNo} and f.`status` = 'working'
union
SELECT ${A1fields}, '', '' from ${tableName} a1
LEFT JOIN
(
SELECT DISTINCT std_id from ${tableTempName} mt
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
LEFT JOIN maintain m on m.id = md.parent_id
LEFT JOIN flows f on flow_id = f.id
WHERE order_no > ${fromOrderNo} and f.id is null
UNION
SELECT DISTINCT std_id from ${tableTempName} mt
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
LEFT JOIN maintain m on m.id = md.parent_id
LEFT JOIN flows f on flow_id = f.id
WHERE order_no > ${fromOrderNo} and f.`status` = 'working'
) a on a.std_id = a1.id where a.std_id is null
)a where ${where} ${limit}
]]>
select ${fields} from ${tableName} where ${where}
UPDATE ${tableTempName} mt
INNER JOIN (
SELECT pre_merge_id from
maintain_detail
WHERE maintain_detail.parent_id = ${maintainId}
)md on mt.id = md.pre_merge_id
set mt.deal = 1
select count(1) from ${tableName} where ${where}
${toOrderNo}
AND m.table_name = '${tableName}'
AND (operate = 'create'
OR operate = 'update') ) v
ON v.std_id = a1.id
WHERE v.std_id IS NULL
UNION
SELECT ${tempFields}
FROM
(SELECT mt.*,
m.order_no
FROM ${tableTempName} mt
LEFT JOIN maintain_detail md
ON md.pre_merge_id = mt.id
LEFT JOIN maintain m
ON md.parent_id = m.id
WHERE m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}'
AND operate = 'update' ) AS a1
INNER JOIN
(SELECT std_id,
min(order_no) AS order_no
FROM
(SELECT mt.id,
std_id,
m.order_no
FROM ${tableTempName} mt
LEFT JOIN maintain_detail md
ON md.pre_merge_id = mt.id
LEFT JOIN maintain m
ON md.parent_id = m.id
WHERE m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}'
AND operate = 'update'
AND NOT EXISTS
(SELECT mt1.id
FROM ${tableTempName} mt1
LEFT JOIN maintain_detail md
ON md.pre_merge_id = mt1.id
LEFT JOIN maintain m
ON m.id = md.parent_id
WHERE m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}'
AND operate = 'create'
AND mt1.std_id = mt.std_id ) ) AS gz
GROUP BY std_id ) AS zb
ON a1.std_id = zb.std_id
AND a1.order_no = zb.order_no
UNION
SELECT DISTINCT ${tempFields}
FROM ${tableTempName} a1
LEFT JOIN maintain_detail md
ON md.pre_merge_id = a1.id
LEFT JOIN maintain m
ON m.id = md.parent_id
LEFT JOIN
(SELECT DISTINCT mt1.std_id
FROM ${tableTempName} mt1
LEFT JOIN maintain_detail md
ON md.pre_merge_id = mt1.id
LEFT JOIN maintain m
ON m.id = md.parent_id
WHERE m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}'
AND (operate = 'create'
OR operate = 'update') ) zb
ON zb.std_id = a1.std_id
WHERE zb.std_id is null
AND md.operate = 'delete'
AND m.order_no <= ${fromOrderNo}
AND m.order_no > ${toOrderNo}
AND m.table_name = '${tableName}' ) a
WHERE ${where}
]]>
${fromOrderNo} and f.id is null
UNION
SELECT ${tempFields}, md.operate, f.`status` from ${tableTempName} a1
LEFT JOIN maintain_detail md on md.pre_merge_id = a1.id
LEFT JOIN maintain m on m.id = md.parent_id
LEFT JOIN flows f on flow_id = f.id
WHERE order_no > ${fromOrderNo} and f.`status` = 'working'
union
SELECT ${A1fields}, '', '' from ${tableName} a1
LEFT JOIN
(
SELECT DISTINCT std_id from ${tableTempName} mt
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
LEFT JOIN maintain m on m.id = md.parent_id
LEFT JOIN flows f on flow_id = f.id
WHERE order_no > ${fromOrderNo} and f.id is null
UNION
SELECT DISTINCT std_id from ${tableTempName} mt
LEFT JOIN maintain_detail md on md.pre_merge_id = mt.id
LEFT JOIN maintain m on m.id = md.parent_id
LEFT JOIN flows f on flow_id = f.id
WHERE order_no > ${fromOrderNo} and f.`status` = 'working'
) a on a.std_id = a1.id where a.std_id is null
)a where ${where}
]]>
INSERT INTO ${tableName} (${fields}) VALUES ${values}
INSERT INTO ${tableName} (${fields})
select ${selectFields} from (${selectSql}) a
update ${tableName} set ${updateSegment}
where ${where}
update ${tableName}
${joinTableSegment}
set ${updateSegment}
where ${where}
DELETE FROM ${tableName} where ${where}
CREATE INDEX ${idxName} ON ${tableName} (${fields})
DELETE tm FROM ${tableTempName} tm , maintain_detail md WHERE tm.id = md.pre_merge_id
and md.parent_id = ${maintainId};
INSERT INTO ${tableName}
SELECT
${tempFields}
from ${tableTempName} t
inner join maintain_detail md on t.id = md.pre_merge_id
where md.parent_id = ${maintainId} and md.operate = 'create'
SELECT tm.id from ${tableTempName} tm
inner JOIN maintain_detail md on md.pre_merge_id = tm.id
where tm.std_id = ${stdId} and md.parent_id = ${maintainId}
INSERT INTO maintain_detail
SELECT md5(uuid()) as id, ${maintainId} as parent_id, ${operate} as operate, id as pre_merge_id, NOW() as create_time
from ${tableTempName} m WHERE m.deal = 0
INSERT INTO maintain_detail
SELECT md5(uuid()) as id, ${maintainId} as parent_id, 'delete' as operate, id as pre_merge_id, NOW() as create_time
from ${tableTempName} m WHERE m.deal = 0
update ${tableTempName}
set std_id = md5(uuid()) WHERE deal = 0
INSERT INTO ${recordTableName}
SELECT ${tempFieldList}, 0 as deal
from ${tableName}
SELECT
${fields}
from ${tableTempName} t
inner join maintain_detail md on md.pre_merge_id = t.id
where md.parent_id = ${maintainId}
and operate = ${operate}
update ${tableTempName}
INNER JOIN maintain_detail on ${tableTempName}.id = maintain_detail.pre_merge_id
set ${updateSegment}
WHERE maintain_detail.parent_id = ${maintainId}
DELETE ${tableTempName} from ${tableTempName}
INNER JOIN maintain_detail on maintain_detail.pre_merge_id = ${tableTempName}.id
WHERE maintain_detail.parent_id = ${maintainId} and ${tableTempName}.std_id = ${stdId}
select * from ACT_ID_MEMBERSHIP where USER_ID_ = #{userId} and GROUP_ID_ = #{roleId}
select * from ACT_ID_MEMBERSHIP where GROUP_ID_ = #{roleId}
select * from ACT_ID_MEMBERSHIP where USER_ID_ = #{userId}
= ${fromOrderNo}
AND m.order_no < ${toOrderNo}
]]>
= ${fromOrderNo}
AND m.order_no < ${toOrderNo}
]]>