资讯
安全
论坛
下载
读书
程序开发
数据库
系统
网络
电子书
微信学院
站长学院
QQ
手机软件
考试
安全
|
web开发
|
软件开发
|
移动开发
|
数据库
|
网络
|
系统
|
网站
|
考试认证
|
其他
|
读书频道
>
网站
>
网页设计
>
MySQL入门很简单
14.4 修改存储过程和函数
12-07-31
叶孤城
收藏
我要投稿
本文所属图书 >
MySQL入门很简单
本书从初学者的角度出发,由浅入深,循序渐进地介绍了MySQL数据库应用与开发的相关知识。书中提供了大量操作MySQL数据库的示例,还提供了大量实例和上机实践内容,供读者演练。本书共分5篇。第1篇介绍数据库的基...
立即去当当网订购
修改存储过程和函数是指修改已经定义好的存储过程和函数。MySQL中通过ALTER PROCEDURE语句来修改存储过程。通过ALTER FUNCTION语句来修改存储函数。本小节将详细讲解修改存储过程和函数的方法。
MySQL中修改存储过程和函数的语句的语法形式如下:
ALTER {PROCEDURE | FUNCTION} sp_name [characteristic ...]
characteristic:
{ CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'
其中,sp_name参数表示存储过程或函数的名称;characteristic参数指定存储函数的特性。CONTAINS SQL表示子程序包含SQL语句,但不包含读或写数据的语句;NO SQL表示子程序中不包含SQL语句;READS SQL DATA表示子程序中包含读数据的语句;MODIFIES SQL DATA表示子程序中包含写数据的语句。SQL SECURITY { DEFINER | INVOKER }指明谁有权限来执行。DEFINER表示只有定义者自己才能够执行;INVOKER表示调用者可以执行。COMMENT 'string'是注释信息。
说明:修改存储过程使用ALTER PROCEDURE语句,修改存储函数使用ALTER FUNCTION语句。但是,这两个语句的结构是一样的,语句中的所有参赛都是一样的。而且,它们与创建存储过程或函数的语句中的参数也是基本一样的。
【示例14-24】 下面修改存储过程num_from_employee的定义。将读写权限改为MODIFIES SQL DATA,并指明调用者可以执行。代码执行如下:
ALTER PROCEDURE num_from_employee
MODIFIES SQL DATA
SQL SECURITY INVOKER ;
执行代码,并查看修改后的信息。结果显示如下:
//执行ALTE PROCEDURE语句
mysql> ALTER PROCEDURE num_from_employee
-> MODIFIES SQL DATA
-> SQL SECURITY INVOKER ;
Query OK, 0 rows affected (0.00 sec)
//查询修改后num_from_employee表的信息
mysql> SELECT SPECIFIC_NAME,SQL_DATA_ACCESS,
SECURITY_TYPE FROM informa-
tion_schema.Routines WHERE ROUTINE_NAME='num_from_employee' ;
+-------------------------------+-------------
---------------------+-------------------------+
| SPECIFIC_NAME | SQL_DATA_ACCESS | SECURITY_TYPE |
+-------------------------------+------------
----------------------+-------------------------+
| num_from_employee | MODIFIES SQL DATA | INVOKER |
+-------------------------------+-----------
-----------------------+-------------------------+
1 row in set (0.00 sec)
结果显示,存储过程修改成功。从查询的结果可以看出,访问数据的权限(SQL_DATA_ACCESS)已经变成MODIFIES SQL DATA,安全类型(SECURITY_TYPE)已经变成了INVOKER。
【示例14-25】 下面修改存储函数name_from_employee的定义。将读写权限改为READS SQL DATA,并加上注释信息'FIND NAME'。代码执行如下:
ALTER FUNCTION name_from_employee
READS SQL DATA
COMMENT 'FIND NAME' ;
执行代码,并查看修改后的信息。结果显示如下:
//执行ALTE FUNCTION语句
mysql> ALTER FUNCTION name_from_employee
-> READS SQL DATA
-> COMMENT 'FIND NAME' ;
Query OK, 0 rows affected (0.00 sec)
//查询修改后num_from_employee表的信息
mysql> SELECT SPECIFIC_NAME,SQL_DATA_ACCESS,
ROUTINE_COMMENT FROM information_schema.Routines
WHERE ROUTINE_NAME='name_from_employee' ;
+--------------------------------+--------------
-----------------+-------------------------------+
| SPECIFIC_NAME | SQL_DATA_ACCESS | ROUTINE_COMMENT |
+--------------------------------+-------------
------------------+-------------------------------+
| name_from_employee | READS SQL DATA | FIND NAME |
+--------------------------------+----------------
---------------+-------------------------------+
1 row in set (0.01 sec)
结果显示,存储函数修改成功。从查询的结果可以看出,访问数据的权限(SQL_DATA_ACCESS)已经变成READS SQL DATA,函数注释(ROUTINE_COMMENT)已经变成了"FIND NAME"。
点击复制链接 与好友分享!
回本站首页
分享到:
更多
您对本文章有什么意见或着疑问吗?请到
论坛讨论
您的关注和建议是我们前行的参考和动力
上一篇:
1.3 功能
下一篇:
1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
112 |
1.2.7 MariaDB 与MySQL 的选择
112 |
1.2.6 MariaDB 是否会取代MySQL
112 |
1.2.5 性能比较
112 |
1.2.4 各版本间的兼容性
112 |
1.2.3 不同点
112 |
1.2.2 相同点
112 |
1.2.1 MariaDB、MySQL 和PerconaServer
112 |
1.2 MariaDB 与MySQL
3.2.3 Bootstrap栅格系统
3.4.4 自适应显示/隐藏页面内容
3.3.1 固定式布局
2.1.1 下载Bootstrap
3.3.2 流式布局
3.4.6 响应式Bootstrap
3.4.2 设计响应式图片
3.2.4 响应式Bootstrap栅格系统
文章
下载
读书
·
Win2000下关闭无用端口
·
禁止非法用户登录综合设置 [win9x篇]
·
关上可恶的后门——消除NetBIOS隐患
·
网络入侵检测系统
·
潜伏在Windows默认设置中的陷井
·
调制解调器的不安全
·
构建Windows 2000服务器的安全防护林
·
SQL Server 2000的安全配置
·
Windows优化大师注册机源码
·
Aspcode动画教程
·
WIN 2000服务器防止ICMP数据包攻击教程
·
实现网络隐身的简单方法
·
手工进行克隆帐号
·
用W32DASM破解网页合并器的密码
·
注册表操作动画教程
·
冰河陷阱v1.2
·
黑客攻防技术宝典:Web实战篇(第2版)
·
超级网管员——网络安全
·
代码大全(第二版)
·
软件之道:软件开发争议问题剖析
·
CSS插件工具箱
·
CSS入门经典(第3版)
·
C#并行编程高级教程:精通.NET 4 Pa
·
CMMI+敏捷整合开发
关于我们
|
联系我们
|
广告服务
|
投资合作
|
版权申明
|
在线帮助
|
网站地图
|
作品发布
|
Vip技术培训
版权所有:
红黑联盟
--致力于做最好的IT技术学习网站