### 13.1.7 ALTER PROCEDURE 语句

[](<>)

```
ALTER PROCEDURE proc_name [characteristic ...]

characteristic: {
    COMMENT 'string'
  | LANGUAGE SQL
  | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
  | SQL SECURITY { DEFINER | INVOKER }
}
```

此语句可用于更改存储过程的特性。可以在一个文件中指定多个更改[`改变程序`](alter-procedure.html)陈述。但是，您不能使用此语句更改存储过程的参数或主体；要进行此类更改，您必须使用删除并重新创建该过程[`丢弃程序`](drop-procedure.html)和[`创建过程`](create-procedure.html).

你必须拥有[`改变常规`](privileges-provided.html#priv_alter-routine)程序的特权。默认情况下，该权限会自动授予过程创建者。可以通过禁用[`automatic_sp_privileges`](server-system-variables.html#sysvar_automatic_sp_privileges)系统变量。看[第 25.2.2 节，“存储的例程和 MySQL 权限”](stored-routines-privileges.html).
