数据库update(动态更新)-SqlServer
生活随笔
收集整理的這篇文章主要介紹了
数据库update(动态更新)-SqlServer
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近項目上經常需要去通過SQL腳本去刷數據庫歷史數據的情況
--第一種:簡單更新的SQL語句 update 表名 set 字段 = 更新值 where 條件 --第一種方式簡單,但是個別復雜的情況難以直接更新--第二種:復雜的通過腳本寫邏輯 DECLARE @ID VARCHAR(10), @TEXT VARCHAR(7999), @JMTX VARCHAR(7999) DECLARE My_Cursor CURSOR --定義游標 FOR (select xx字段 from xxx表 where 條件) --查出需要的數據放到游標中 OPEN My_Cursor; --打開游標 FETCH NEXT FROM My_Cursor into @ID; --讀取第一行數據 WHILE @@FETCH_STATUS = 0BEGIN--遍歷ID查詢單條數據set @TEXT=(select xx字段1 from xxx表1 where xx字段2 = @ID);if(@TEXT IS null)begin--更新語句update 表名 set 字段 = 更新值 where 條件end END CLOSE My_Cursor; --關閉游標 DEALLOCATE My_Cursor; --釋放游標 --第二種方式的話稍微比較麻煩--第三種:簡易更新語句升級版(在需要更新值的值查出來放到同一行數據中以便獲取) update t1 set t1.zbbm1 = t2.cbbm from xx表1 t1 inner join (select requestid,cbbm from xx表2) t2 on t1.lcid = t2.requestid where (t1.zbbm1 is null or LTrim(RTrim(t1.zbbm1)) = '')還有什么更好的SQL腳本寫法也可以分享一下啦
總結
以上是生活随笔為你收集整理的数据库update(动态更新)-SqlServer的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器语言、汇编语言、高级语言特点和区别
- 下一篇: PostgreSQL 之 Pgpool概