我在重命名存儲過程時觀察到以下功能。重命名存儲過程
sp_RENAME 'User_Validate', 'sp_UserValidate'
當我做sp_helptext sp_UserValidate
程序的名字,我看到的是
CREATE PROCEDURE User_Validate
(@userEmail nvarchar(200),
@userPassword nvarchar(32))....
爲什麼沒有名字來取得在存儲過程中更新?
但是當我檢查
select * from sys.procedures
我找到名稱字段更新?它背後的原因是什麼?我可以得出的唯一合乎邏輯的結論是放棄程序並用新名稱重新創建更好。
編輯1: 如果我做sp_helptext User_Validate
返回「對象‘User_Validate’數據庫‘過程’不存在,或者是對於此操作無效。」但是當我查看存儲過程時,User_Validate的名字仍然存在。
注:我知道重命名存儲過程不是一個好習慣,我問的問題是出於好奇。
我用sp_helptext查看過程和我使用它的原因是強調一個事實,即當我使用sp_helptext查看存儲過程(代碼)的外觀時,我發現過程的名稱沒有更改。這將是愚蠢的如果我假定sp_helptext執行一些天堂功能而不是檢查文件的上下文。我的問題是,爲什麼程序中的名稱沒有改變? – Chaitanya 2010-11-14 06:16:54
在一個理想的世界中,'sp_rename' *可以*進入爲原始批處理保存的文本中,解析它,並替換過程名稱。它只是沒有,我認爲對於開發努力的投資回報太低。 – 2010-11-14 06:45:49