ALTER PROCEDURE 语句 修改存储过程 语法 1 ALTER PROCEDURE [ owner.]procedure-name procedure-definition procedure-definition:请参见CREATE PROCEDURE 语句。 语法 2 ALTER PROCEDURE [ owner.]procedure-name SET HIDDEN 语法 3 ALTER PROCEDURE [ owner.]procedure-name RECOMPILE 注释 ALTER PROCEDURE 语句必须包括整个新过程。可使用 PROC 作为 PROCEDURE 的同义词。 语法 1 除第一个单词不同外,ALTER PROCEDURE 语句的语法与 CREATE PROCEDURE 语句的语法相同。Watcom 和 Transact-SQL 方言过程都可以使用 ALTER PROCEDURE 进行变更。 使用 ALTER PROCEDURE,过程上的现有权限会保持不变。如果执行 DROP PROCEDURE,紧接执行 CREATE PROCEDURE,则会重新指派执行权限。 语法 2 使用 SET HIDDEN 对关联过程的定义进行模糊处理,使之不可读。可以卸载该过程,然后将其重装到其它数据库中。 如果使用 SET HIDDEN,则使用调试程序进行调试不会显示过程定义,也无法通过过程分析获得过程定义。 不能将语法 2 和语法 1 组合起来。 注意 此设置是不可逆的。建议将原始过程定义保留在数据库之外。 语法 3 使用 RECOMPILE 语法重新编译存储的过程。当重新编译一个过程时,存储在目录中的定义被重新分析,其语法也被验证。对于生成结果集但不包含 RESULT 子句的过程,数据库服务器会尝试确定过程结果集的特点,并将信息存储在目录中。如果自过程创建以来,过程所引用的表发生变更,从而添加、删除或重命名了列,这些信息会很有用。 重新编译不会更改过程的定义。可以重新编译使用 SET HIDDEN 子句隐藏其定义的过程,但其定义仍是隐藏的。