Browse Source

优化

master v1.7.0
lijianbin 2 days ago
parent
commit
4263f44027
2 changed files with 14 additions and 9 deletions
  1. +7
    -5
      chain.go
  2. +7
    -4
      transaction_chain.go

+ 7
- 5
chain.go View File

@ -728,11 +728,13 @@ func (this *Query) UpdateAllStmt() error {
select_sql := `SELECT select_sql := `SELECT
` + strings.Join(title_field, " , ") + ` ` + strings.Join(title_field, " , ") + `
FROM DUAL` FROM DUAL`
if len(valSql) > 1 {
for i := 0; i < len(valSql)-1; i++ {
select_sql += ` UNION ALL ` + select_sql
select_res := ""
for i := 0; i < len(valSql); i++ {
if i > 0 {
select_res += ` UNION ALL `
} }
select_res += select_sql
} }
//和mysql更新或添加机制不一样,需指定on条件 //和mysql更新或添加机制不一样,需指定on条件
on_field := `t.id = s.id` on_field := `t.id = s.id`
@ -747,7 +749,7 @@ func (this *Query) UpdateAllStmt() error {
} }
sql = `MERGE INTO ` + dbName + ` AS t sql = `MERGE INTO ` + dbName + ` AS t
USING (` + select_sql + `
USING (` + select_res + `
) s ) s
ON (` + on_field + `) ON (` + on_field + `)
WHEN MATCHED THEN WHEN MATCHED THEN


+ 7
- 4
transaction_chain.go View File

@ -685,10 +685,13 @@ func (this *TxQuery) UpdateAllStmt() error {
` + strings.Join(title_field, " , ") + ` ` + strings.Join(title_field, " , ") + `
FROM DUAL` FROM DUAL`
if len(valSql) > 1 {
for i := 0; i < len(valSql)-1; i++ {
select_sql += ` UNION ALL ` + select_sql
select_res := ""
for i := 0; i < len(valSql); i++ {
if i > 0 {
select_res += ` UNION ALL `
} }
select_res += select_sql
} }
//和mysql更新或添加机制不一样,需指定on条件 //和mysql更新或添加机制不一样,需指定on条件
on_field := `t.id = s.id` on_field := `t.id = s.id`
@ -703,7 +706,7 @@ func (this *TxQuery) UpdateAllStmt() error {
} }
sql = `MERGE INTO ` + dbName + ` AS t sql = `MERGE INTO ` + dbName + ` AS t
USING (` + select_sql + `
USING (` + select_res + `
) s ) s
ON (` + on_field + `) ON (` + on_field + `)
WHEN MATCHED THEN WHEN MATCHED THEN


Loading…
Cancel
Save