【发布时间】:2013-04-24 13:54:54
【问题描述】:
我需要修改一个存储过程,并且我想了解“修改”存储过程的实际作用。我有一个存储过程,其中有如下语句:
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 语句中添加一列,然后单击“执行”(或按 F5),这是否会更新存储过程定义,或者它是否也会“运行”其中的代码,例如,运行“INSERT”语句(或者如果有“DELETE”)并实际执行一些插入(或删除)?
我假设它只会更新存储过程,而不是实际运行其中的查询,但我只是想确定一下。对不起,如果这个问题看起来很简单,但我无法轻易找到答案。
提前致谢!
【问题讨论】:
-
您正在改变程序的“胆量”。但是权限保持不变。如果您删除/重新添加,您将失去最初的权限。那是 2 美分的版本。
-
如果你改变了“签名”(参数),那可能是一个莫扎球。
标签: sql sql-server stored-procedures