我需要修改一個存儲過程,並且我想了解一下實際上「修改」存儲過程的內容。我有一個存儲過程,並在它是一個語句,如:修改存儲過程是否更新存儲過程定義?
ALTER PROCEDURE [dbo].[get_orders]
INSERT INTO customer (id, date, name)
VALUES(@id, getdate(), @name)
SELECT
full_id,
fname,
lname,
...
FROM orders
如果我修改該存儲過程(右鍵單擊SSMS的SP,然後選擇「修改」),通過添加列Select語句例如,然後單擊「Execute」(或按F5),這是否只會更新存儲過程定義,還是會「運行」其中的代碼,例如,運行「INSERT」語句(或者如果有「DELETE」)並實際做一些插入(或刪除)?
我假設它只會更新存儲過程,並不實際運行查詢,但我只是想確定。對不起,如果這個問題似乎很基本,但我不能輕鬆找到答案。
在此先感謝!
你正在改變程序的「膽量」。但權限保持不變。如果您刪除/重新添加,您將失去最初使用它的權限。這是2美分的版本。 – granadaCoder 2013-04-24 15:17:04
如果您更改「簽名」(參數),那可能是一個格扎球。 – granadaCoder 2013-04-24 15:17:46