国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 數據庫 > SQL Server > 正文

SQL SERVER修改函數名容易引發的問題分析

2024-08-31 01:03:40
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了SQL SERVER修改函數名容易引發的問題分析的相關資料,需要的朋友可以參考下
 

1. 問題

今天遇到一個奇怪的問題:使用sp_helptext XXX查詢出來的函數定義名竟然跟函數名不同,而sp_helptext實際是查詢sys.all_sql_modules這個系統視圖的。直接查詢這個視圖的definition字段,發現跟sp_helptext是一樣的。難道是系統視圖也存在緩存之類的機制?或者是個BUG?對于第一個問題,當時情況緊急,沒有時間去求證是否存在了。第二個問題,我想沒什么可能,SQL SERVER發展到今天(SQL 2016正式版準備推出,我使用的環境則是SQL 2008 R2,打了SP3),已經是很成熟的一個系統,即使是出現BUG也不是我這種水平的人能發現的,肯定是哪我哪里弄錯了。于是求助于數據庫技術交流群,很快有大神回答了是改名的問題。我馬上就想起這個函數在一個多星期前,因為測試的需要,通過SSMS改了原函數名,而SQL SERVER不會因為改名去更新sys.all_sql_modules視圖的definition字段的!于是就造成了已經編譯好的函數與sys.all_sql_modules系統視圖的函數定義出現了不一致的情況。

2. 重視與分析問題

做一個測試來重現下問題。首先,新建一個簡單的測試函數dbo.ufn_test_1。

USE AdventureWorks2008R2;GOIF OBJECT_ID(N'dbo.ufn_test_1') IS NOT NULLBEGINDROP FUNCTION dbo.ufn_test_1;ENDGOCREATE FUNCTION dbo.ufn_test_1 ()RETURNS CHAR(1)ASBEGINRETURN ('F');ENDGO 

code-1: 創建函數dbo.ufn_test_1

這時,使用sp_helptext和sys.all_sql_modules查詢,一切正常。

EXEC sp_helptext [dbo.ufn_test_1];GOSELECT OBJECT_ID('dbo.ufn_test_1') AS a, * FROM sys.all_sql_modulesWHERE [object_id] = OBJECT_ID('dbo.ufn_test_1');GO 

code-2:查詢函數dbo.ufn_test_1的定義

SQL SERVER修改函數名容易引發的問題分析

figure-1: 查詢函數dbo.ufn_test_1的定義

在SSMS上直接改名為dbo.ufn_test_2。

SQL SERVER修改函數名容易引發的問題分析

figure-2: 修改函數名

再去查詢函數dbo.ufn_test_2的定義。這樣,就出現了已經編譯好的函數跟在視圖中的函數定義出現了不一致的情況!如果通過sp_helptext和sys.all_sql_modules查詢出現的定義去更新生產服務器,就肯定會出現問題。

SQL SERVER修改函數名容易引發的問題分析

3. 解決與結論

解決方法也很簡單,把這個函數重建即可。如果使用SSMS的右鍵修改(Modify)或生成相關腳本(Script Function as)的菜單,則不會出現以上的問題。同樣的問題與解決方法,也適用于存儲過程。

SQL SERVER修改函數名容易引發的問題分析

結論:

(1)盡量不要修改對象名,確實要修改的話,就重建吧。如果是表并且包含的大量數據要重建的話,就比較麻煩了,即使是修改表名不會出現像函數、存儲過程的問題,但修改表名涉及應用程序等問題。

(2)盡量使用SSMS的右鍵菜單修改或生成對象的定義。但如果函數或存儲過程太多,會覺得sp_helptext和sys.all_sql_modules會更方便些,查詢出來的結果要認真核對下對象名是否一致即可。這里提一下,sp_helptext有些限制,可以參考SQL中print、sp_helptext的限制與擴展



注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
伊人中文在线| 在线91av| 国产网红女主播精品视频| 国产九色在线| eeuss影院网站免费观看| 国产天堂av| 国产亚av手机在线观看| 国产三级香港三韩国三级| 国产天堂视频| 在线观看av网站永久| 国产成人综合亚洲欧美在| 天堂资源最新版在线视频观看免费网| 日本视频三区| 另类综合图区| www中文字幕在线观看| 久久久久久久久久久久久91| 在线播放av网站| 国产中文伊人| 国产青草视频在线观看视频| 91久久精品国产性色| 欧美人成在线观看网站高清| 狠狠插狠狠操| 99免费视频| 国产丝袜在线| 久久精品视频免费看| 69久久精品| 午夜免费视频在线国产| 亚洲天堂久久久| 中文字幕视频在线免费| av网站在线播放| 国产一二三区在线视频| 亚洲成人av在线影院| 国产三级做爰在线观看| 国产精品一区二区三区视频网站 | av黄色在线观看| 天堂中文资源在线| 久久99国产视频| 免费黄网站在线观看| www.91在线播放| 国产成免费视频| 国产日本视频| 91亚洲天堂| 99中文字幕一区| 亚洲视频在线网| 亚洲а∨精品天堂在线| 97中文字幕| 91在线超碰| av网站大全在线| 亚洲综合天堂网| a视频在线播放| 啪啪免费视频一区| 六月天色婷婷| 五月天丁香在线| 国产精品免费视频一区一| 99久热re在线精彩视频| 国产美女视频一区二区三区 | 怡红院av在线| 在线观看av网站| www.蜜桃av| 国产午夜电影| 99re6在线视频精品免费| 亚洲国产日韩在线人成电影| 欧美高清xxxx性| 午夜视频在线免费| 国产经典av| 香蕉视频在线看| 国产鲁鲁视频在线观看特色| 大香伊人久久| 国产成a人亚洲精v品| 亚洲欧美自拍另类| 国产美女被草| 在线国产一级| 国产情侣高潮对白| 久热中文字幕在线观看| 国产高清视频在线播放| 久久精品视频观看| 国产成人亚洲欧美电影| 国产蜜臀av在线播放| 精品卡一卡卡2卡3网站| 免费不卡中文字幕视频| 一色桃子av在线| 国产亚洲精品自在线观看| 伊人国产在线看一| 最近免费中文字幕在线第一页| 99re热视频在线| 国产三级视频在线看| 国产中文字幕av| 精品视频三区| 国产91在线视频蝌蚪| 国产中文在线观看| 超碰97在线免费观看| 国产超碰在线| 国产三级在线免费观看| 国产毛片视频| 欧美日韩国产亚洲沙发| 亚洲大香人伊一本线| 国产www.大片在线| 国产一起色一起爱| 黄网站在线观看高清免费| 在线中文字幕资源| 精品国产高清a毛片无毒不卡 | 国产精品伦理一区二区三区| 国产精品一区二区三区视频网站 | www亚洲天堂| gogogogo高清视频在线| 四虎成人精品在永久免费| 91精品国产高久久久久久五月天| 最近中文字幕mv免费高清电影| 狠狠干天天干| 欧美日韩在线视频免费观看 | 国产永久免费高清在线观看| 久色视频在线观看| 成人亚洲一区二区三区| 国产女人伦码一区二区三区不卡| 热99re久久精品精品免费| 九九热在线视频观看| 国产天堂视频| 在线亚洲精品自拍| www黄在线观看| 国产美女av在线| 国产特级毛片| 在线免费日韩| 国产有码在线| 18被视频免费观看视频| av文字幕在线观看| 国产在线看片| 在线中文字幕视频观看| 青草视频在线播放| 国产小视频在线| 伊人网在线观看| 国产精品综合久久久久| 6699久久国产精品免费| 亚洲成a人v欧美综合天堂麻豆| 九九在线免费视频| 在线āv视频| 国产资源在线看| 国产www在线观看| 国产乱视频在线观看播放| av在线第一页| 国产精品666| 国产精品一区牛牛影视| 在线观看wwww| 2019年中文字幕| 中文字幕日本三级| 欧美高清视频| sm国产在线调教视频| 2019中文字幕视频| 中文字幕视频免费在线观看| 日本免费不卡| 色综合久久五月天| 国产福利在线| 2019年中文字幕| 国产精品视频一区二区久久| 精品资源在线看| 噜噜噜噜噜在线视频| 日韩国产成人| 热99re久久精品精品免费| av天天在线| 亚洲成人国产综合| 四虎成人免费| 啪啪免费视频一区| 国产在线一区二区视频| 麻豆精品永久免费视频| 在线免费观看黄色av| 精品入口蜜桃| 精品美女调教视频| 午夜性爽视频男人的天堂| 亚洲天堂久久久| 欧美性猛交xxxx免费看蜜桃| 操人视频91| 天天av天天爱| 国产精品视频一区二区免费不卡| 国产一二三区在线观看| 国产黄视频在线观看| 在线视频三区| 另类专区欧美| 天堂在线看视频| 国产精品久久人| 伊人永久在线| 毛片在线视频| 最新黄网在线观看| 2019中文字幕视频| 欧美卡一卡二| 国产一卡二卡3卡4卡四卡在线| 国产激情自拍| 热99re久久精品这里都是免费| 久久综合精品视频| 国产激情视频在线| 人人九九精品| 国产精品99爱免费视频| 人日人天天爽| 69视频在线| 天天操天天是| 在线中文字幕视频| 国产麻豆精品高清在线播放| 国产亚av手机在线观看| 四虎影院成人| 国产超碰97| 国产午夜在线| 国产真实伦在线观看|