MySQL存储过程与函数篇,修改特性及删除

 时间:2024-10-22 19:11:32

MySQL中,管理存储过程或函数势必涉及到需要修改以及删除部分内容,使用ALTER语句可以修改存储过程或函数的特性,使用DROP语句可以删除存储过程或函数。

工具/原料

电脑

MySQL

Navicat等数据库可视化管理插件

创建测试用例

1、创建用于测试的存储过程CREATE PROCEDURE test_1(IN invalue INT(11),OUT outvalue INT(11))BEGIN set outvalue = 100 * invalue;END;

MySQL存储过程与函数篇,修改特性及删除

2、创建测试用的存储函数CREATE FUNCTION test_2(invalue INT(11)) RETURNS INT(11)BEGIN RETURN (100 * invalue);END;

MySQL存储过程与函数篇,修改特性及删除

修改存储过程或函数的定义

1、MYSQL不提供存储过程或函数的代码修改,只能修改存储过程或函数的定义,如果一定要修改存储过程或函数的代码,需要删除原来的代码,并创建新的同名存储过程

MySQL存储过程与函数篇,修改特性及删除

2、修改特性语法结构:ALTER {PROCEDURE | FUNCTION} 过程或函数名称 [存储过程或函数的特性]存储过程的特性如下:CONTAINS SQL,表示子程序包含SQL语句,但是,不包含读或写数据的语句 NO SQL,表示子程序中,不包含SQL语句 READS SQL DATA,表示子程序中,包含读数据的语句 MODIFIES SQL DATA,表示子程序中,包含写数据的语句 SQL SECURITY {DEFINER | INVOKER},指明谁有权限来执行 DEFINER,表示只有定义者,自己才能够执行 INVOKER,表示调用者可以执行 COMMENT’string’,表示注释信息

3、查询当前存储过程相关定义:示例查询当前存储过程相关定义:SELECT SPECIFIC_NAME,SECURITY_TYPE,SQL_DATA_ACCESS FROM information_schema.ROUTINES where ROUTINE_NAME='test_1';

MySQL存储过程与函数篇,修改特性及删除

4、修改当前存储过程定义:ALTER PROCEDURE test_1 MODIFIES SQL DATA SQL SECURITY INVOKER;

MySQL存储过程与函数篇,修改特性及删除

5、再次查询存储过程相关定义,查看修改结果SELECT SPECIFIC_NAME,SECURITY_TYPE,SQL_DATA_ACCESS FROM information_schema.ROUTINES where ROUTINE_NAME='test_1';

MySQL存储过程与函数篇,修改特性及删除

6、修改存储函数的定义示例查询当前存储函数相关定义:SELECT SPECIFIC_NAME,SQL_DATA_ACCESS,ROUTINE_COMMENT FROM information_schema.ROUTINES where ROUTINE_NAME='test_2';

MySQL存储过程与函数篇,修改特性及删除

7、修改当前存储函数定义:ALTER FUNCTION test_2 READS SQL DATA COMMENT '测试修改存储函数';

MySQL存储过程与函数篇,修改特性及删除

8、再次查询存储函数相关定义,查看修改结果SELECT SPECIFIC_NAME,SQL_DATA_ACCESS,ROUTINE_COMMENT FROM information_schema.ROUTINES where ROUTINE_NAME='test_2';

MySQL存储过程与函数篇,修改特性及删除

删除存储过程或函数

1、语法结构:DROP {PROCEDURE | FUNCTION} [IF EXISTS] 过程或函数名称[IF EXISTS] : 如果存在对应的存储过程或函数名称,则执行删除指令

MySQL存储过程与函数篇,修改特性及删除

2、删除存储过程DROP PROCEDURE IF EXISTS test_1;

MySQL存储过程与函数篇,修改特性及删除

3、查看存储过程是否删除成功SELECT * FROM information_schema.ROUTINES where ROUTINE_NAME='test_1';

MySQL存储过程与函数篇,修改特性及删除

4、删除存储方法DROP FUNCTION IF EXISTS test_2;

MySQL存储过程与函数篇,修改特性及删除

5、查看是否删除成功SELECT * FROM information_schema.ROUTINES where ROUTINE_NAME='test_2';

MySQL存储过程与函数篇,修改特性及删除
  • 从oracle官网下载JavaMail所需jar的操作流程
  • TeeChart绘图控件的安装方法
  • IDEA创建Java Web项目
  • 怎样修改eclipse的默认字符集和修改中文乱码
  • 如何使用java中的ArrayList常用方法
  • 热门搜索
    三月文明礼貌月手抄报 健康教育手抄报资料 有关梦想的手抄报 防震减灾手抄报花边 感恩励志手抄报 二年级上册手抄报 法制漫画手抄报 美文欣赏手抄报 读好书手抄报内容 有关卫生的手抄报