刪除用友U8+自動生成的臨時表-讓數據庫變小更絲滑
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
我們再使用用友U8+過程中會產生大量臨時表,導致數據庫中多數空間都是臨時數據,會讓數據庫變的有些大,甚至有些臃腫,但,據說有補丁可以解決問題,但沒有找到相關介紹的!
根據分析,臨時表的表名通過由Tmp_ 、UFTmpTable以及TMPUF_開頭,而且表名都比較長,多數超過20個字符;以此為條件將表名查詢出來,拼接SQL語句進行刪除即可。
補充:實際使用中發現還有其它命名方式的臨時表,比如以ZHT開頭的,HYDZ開頭的,JSMX開頭的等,可以根據實際情況修改即可!
刪表有風險,操作須謹慎!
溫馨提示:所有涉及到數據庫的操作,請在專人指導下操作,操作時先進行數據備份!!!
DECLARE @name VARCHAR(100); DECLARE @sql VARCHAR(200), @i INT; SET @i = 1; DECLARE cur CURSOR FOR SELECT name FROM sysobjects WHERE xtype = 'u' AND (((name LIKE 'Tmp[_]%' OR name LIKE 'UFTmpTable%' OR name LIKE 'TempQlView[_]%') AND LEN(name) >= 20) OR name LIKE 'ZHT%[_]%' OR name LIKE 'HYDZ%[_]%' OR name LIKE 'Temp__View[_]%[_]Temp%' OR name LIKE 'TMPUF[_]%' OR name LIKE 'JSMX1[_]%') ORDER BY name; OPEN cur; FETCH NEXT FROM cur INTO @name; WHILE @@fetch_status = 0 BEGIN BEGIN SET @sql = 'drop table [' + @name + ']'; EXECUTE (@sql); PRINT '第' + RIGHT('000' + CONVERT(NVARCHAR(5), @i), 4) + '個表:' + @name + ' 已經刪除'; SET @i = @i + 1; END; FETCH NEXT FROM cur INTO @name; END; CLOSE cur; DEALLOCATE cur;
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!
賞
支付寶贊助
微信贊助
免責聲明,若由于商用引起版權糾紛,一切責任均由使用者承擔。
您必須遵守我們的協議,如您下載該資源,行為將被視為對《免責聲明》全部內容的認可->聯系老梁投訴資源 LaoLiang.Net部分資源來自互聯網收集,僅供用于學習和交流,請勿用于商業用途。如有侵權、不妥之處,請聯系站長并出示版權證明以便刪除。
敬請諒解! 侵權刪帖/違法舉報/投稿等事物聯系郵箱:service@laoliang.net
意在交流學習,歡迎贊賞評論,如有謬誤,請聯系指正;轉載請注明出處: » 刪除用友U8+自動生成的臨時表-讓數據庫變小更絲滑