關于Rack()自增長的一則雙表關聯(lián)更新

A表(tb_abc):

創(chuàng)新互聯(lián)長期為近1000家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為包河企業(yè)提供專業(yè)的成都做網站、成都網站制作,包河網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。


AB
1aa
0200
2bb0300
3cc0500
4dd1800
5ee2200
6ff3300

B表(tb_abcc):


A
B
1aa
(0201)
2aa(0202)
3bb(0301)
4bb(0302)
5bb(0303)
6cc(0501)

括號里是預期值

規(guī)則: 通過B表的a字段匹配A表的a字段,并讀取A表的b字段,按照該值依次增數(shù)寫入B表b字段

實現(xiàn):

update
  tb_abcc c
set
  c.b =
  (select
    tmp.str
  from
    (select
      b.rowid rd,
      b.a,
      substr(a.b, 1, 2) || lpad(
        (
          rank () over (partition by b.a
            order by b.rowid)
        ),
        2,
        0
      ) str
    from
      tb_abc a,
      tb_abcc b
    where a.a = b.a) tmp
  where c.rowid = tmp.rd)
where exists
  (select
    'x'
  from
    (select
      b.rowid rd,
      b.a,
      substr(a.b, 1, 2) || lpad(
        (
          rank () over (partition by b.a
            order by b.rowid)
        ),
        2,
        0
      ) str
    from
      tb_abc a,
      tb_abcc b
    where a.a = b.a) tmp
  where c.rowid = tmp.rd);

6 rows updated

select * from tb_abcc;

A    B

---- ------

aa   0201

aa   0202

bb   0301

bb   0302

bb   0303

cc   0501

6 rows selected

網站標題:關于Rack()自增長的一則雙表關聯(lián)更新
URL鏈接:http://muchs.cn/article8/ispoop.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化軟件開發(fā)App設計、網頁設計公司標簽優(yōu)化、電子商務

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設公司