百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql中修改存储历程的下令有哪些?
分享文章到:

mysql中修改存储历程的下令有哪些?

发布时间:10/01 来源:未知 浏览: 关键词:

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中修改储备历程的命令是啥?的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有153人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板