mysql中修改存储历程的下令有哪些?
mysql中修改储备历程的命令是“ALTER PROCEDURE”,语法格局为“ALTER PROCEDURE 储备历程名 [ 特点 ... ]”,特点的大概取值为CONTAINS SQL、NO SQL、INVOKER、DEFINER等等。
(引荐教程:mysql视频教程)
在实际开发历程中,业务需求修改的状况时有发生,所以修改 MySQL 中的储备历程是不成幸免的。
MySQL 中通过 ALTER PROCEDURE 语句来修改储备历程。本节将具体讲解修改储备历程的办法。
MySQL 中修改储备历程的语法格局如下:
ALTER PROCEDURE 储备历程名 [ 特点 ... ]
特点指定了储备历程的特性,大概的取值有:
CONTAINS SQL 表示子程序包括 SQL 语句,但不包括读或写数据的语句。
NO SQL 表示子程序中不包括 SQL 语句。
READS SQL DATA 表示子程序中包括读数据的语句。
MODIFIES SQL DATA 表示子程序中包括写数据的语句。
SQL SECURITY { DEFINER |INVOKER } 指明谁有权限来施行。
DEFINER 表示只要定义者本人才能够施行。
INVOKER 表示调取者可以施行。
COMMENT 'string' 表示注释信息。
实例 1
下面修改储备历程 showstuscore 的定义,将读写权限改为 MODIFIES SQL DATA,并指明调取者可以施行,代码如下:
mysql> ALTER PROCEDURE showstuscore MODIFIES SQL DATA SQL SECURITY INVOKER; Query OK, 0 rows affected (0.01 sec)
施行代码,并查看修改后的信息,运转结果如下:
mysql> SHOW CREATE PROCEDURE showstuscore \G *************************** 1. row *************************** Procedure: showstuscore sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `showstuscore`() MODIFIES SQL DATA SQL SECURITY INVOKER BEGIN SELECT id,name,score FROM studentinfo; END character_set_client: gbk collation_connection: gbk_chinese_ci Database Collation: latin1_swedish_ci 1 row in set (0.00 sec)
结果显示,储备历程修改成功。从运转结果可以看到,拜访数据的权限已经变成了 MODIFIES SQL DATA,平安类型也变成了 INVOKE。
提醒:ALTER PROCEDURE 语句用于修改储备历程的某些特点。假如要修改储备历程的内容,可以先删除原储备历程,再以雷同的命名创立新的储备历程;假如要修改储备历程的名称,可以先删除原储备历程,再以不一样的命名创立新的储备历程。
相关引荐:php培训
以上就是mysql中修改储备历程的命令是啥?的具体内容,更多请关注百分百源码网其它相关文章!