校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > 利用帶關(guān)聯(lián)子查詢(xún)Update語(yǔ)句更新數(shù)據(jù)的方法

利用帶關(guān)聯(lián)子查詢(xún)Update語(yǔ)句更新數(shù)據(jù)的方法

熱門(mén)標(biāo)簽:合肥crm外呼系統(tǒng)加盟 西安電話自動(dòng)外呼系統(tǒng) 美國(guó)地圖標(biāo)注軟件下載 城市地圖標(biāo)志怎么標(biāo)注 硅基電話機(jī)器人官網(wǎng) 怎么修改高德地圖標(biāo)注 漯河電銷(xiāo)回?fù)芡夂粝到y(tǒng) 電話機(jī)器人怎么看余額 長(zhǎng)沙外呼系統(tǒng)平臺(tái)

Update是T-sql中再簡(jiǎn)單不過(guò)的語(yǔ)句了,update table set column=expression [where condition],我們都會(huì)用到。但update的用法不僅于此,真正在開(kāi)發(fā)的時(shí)候,靈活恰當(dāng)?shù)厥褂胾pdate可以達(dá)到事半功倍的效果。

假定有表Table1(a,b,c)和Table2(a,c),現(xiàn)在Table1中有些記錄字段c為null,要根據(jù)字段a在Table2中查找,取出字段a相等的字段c的值來(lái)更新Table1。一種常規(guī)的思路,通過(guò)游標(biāo)遍歷Table1中字段c為null的所有記錄,在循環(huán)體內(nèi)查找Table2并進(jìn)行更新,即用游標(biāo)Cursor的形式。測(cè)試sql語(yǔ)句如下:

--1.創(chuàng)建測(cè)試表
  create TABLE Table1
  (
    a varchar(10),
    b varchar(10),
    c varchar(10),
    CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
    (
      a ASC
    )
  ) ON [PRIMARY]

  create TABLE Table2
  (
    a varchar(10),
    c varchar(10),
    CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
    (
      a ASC
    )
  ) ON [PRIMARY]
  GO
  --2.創(chuàng)建測(cè)試數(shù)據(jù)
  Insert into Table1 values('趙','asds',null)
  Insert into Table1 values('錢(qián)','asds','100')
  Insert into Table1 values('孫','asds','80')
  Insert into Table1 values('李','asds',null)

  Insert into Table2 values('趙','90')
  Insert into Table2 values('錢(qián)','100')
  Insert into Table2 values('孫','80')
  Insert into Table2 values('李','95')
  GO
  select * from Table1

  --3.通過(guò)游標(biāo)方式更新
  declare @name varchar(10)
  declare @score varchar(10)
  declare mycursor cursor for select a from Table1 where c is null
  open mycursor
  fetch next from mycursor into @name
  while(@@fetch_status = 0)
  BEGIN
    select @score=c from Table2 where a=@name
    update Table1 set c = @score where a = @name
    fetch next from mycursor into @name  
  END
  close mycursor
  deallocate mycursor
  GO
  --4.顯示更新后的結(jié)果
  select * from Table1
  GO
  --5.刪除測(cè)試表
  drop TABLE Table1
  drop TABLE Table2

雖然用游標(biāo)可以實(shí)現(xiàn),但代碼看起來(lái)很復(fù)雜,其實(shí)用Update根據(jù)子關(guān)聯(lián)來(lái)更新只要一條語(yǔ)句就可以搞定了,測(cè)試代碼如下:

--1.創(chuàng)建測(cè)試表
  create TABLE Table1
  (
    a varchar(10),
    b varchar(10),
    c varchar(10),
    CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
    (
      a ASC
    )
  ) ON [PRIMARY]

  create TABLE Table2
  (
    a varchar(10),
    c varchar(10),
    CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
    (
      a ASC
    )
  ) ON [PRIMARY]
  GO
  --2.創(chuàng)建測(cè)試數(shù)據(jù)
  Insert into Table1 values('趙','asds',null)
  Insert into Table1 values('錢(qián)','asds','100')
  Insert into Table1 values('孫','asds','80')
  Insert into Table1 values('李','asds',null)

  Insert into Table2 values('趙','90')
  Insert into Table2 values('錢(qián)','100')
  Insert into Table2 values('孫','80')
  Insert into Table2 values('李','95')
  GO
  select * from Table1

  --3.通過(guò)Update方式更新
  Update Table1 set c = (select c from Table2 where a = Table1.a) where c is null
  GO

  --4.顯示更新后的結(jié)果
  select * from Table1
  GO
  --5.刪除測(cè)試表
  drop TABLE Table1
  drop TABLE Table2

參考資料:也許是被忽略的update語(yǔ)句,update 子查詢(xún)

標(biāo)簽:濟(jì)源 玉溪 撫順 廣西 商洛 文山 瀘州 吉林

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用帶關(guān)聯(lián)子查詢(xún)Update語(yǔ)句更新數(shù)據(jù)的方法》,本文關(guān)鍵詞  利,用帶,關(guān)聯(lián),子,查詢(xún),Update,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用帶關(guān)聯(lián)子查詢(xún)Update語(yǔ)句更新數(shù)據(jù)的方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于利用帶關(guān)聯(lián)子查詢(xún)Update語(yǔ)句更新數(shù)據(jù)的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 庄浪县| 渭源县| 独山县| 贡山| 泽普县| 元江| 枝江市| 古浪县| 北辰区| 台北县| 德昌县| 吉林市| 昌图县| 海盐县| 天柱县| 达日县| 阳西县| 西和县| 霍林郭勒市| 资中县| 平凉市| 两当县| 大安市| 晋中市| 北京市| 进贤县| 荆门市| 电白县| 潮安县| 江孜县| 宝兴县| 桦川县| 湖州市| 新安县| 翁牛特旗| 怀远县| 鹤山市| 曲松县| 象山县| 周口市| 乐清市|