MySQL修改存储过程的详细步骤

前言

在实际开发中,业务需求修改的情况时有发生,这样,不可避免的需要修改存储过程的特征

MySQL中,使用ALTER语句修改存储过程的特性

语法格式

ALTER {PROCEDURE | FUNCTION} sp_name [characteristic……]

参数说明

  • Sp_name,表示存储过程或函数的名称
  • characteristic,表示要修改存储过程的哪个部分
  • Characteristic的取值如下
  • CONTAINS SQL,表示子程序包含SQL语句,但是,不包含读或写数据的语句
  • NO SQL,表示子程序中,不包含SQL语句
  • READS SQL DATA,表示子程序中,包含读数据的语句
  • MODIFIES DATA,表示子程序中,包含写数据的语句
  • SQL SECURITY {DEFINER | INVOKER},指明谁有权限来执行
  • DEFINER,表示只有定义者,自己才能够执行
  • INVOKER,表示调用者可以执行
  • COMMENT'string',表示注释信息

修改存储过程CountProc1的定义

将读写权限,改为MODIFIES SQL DATA,并指明调用者可以执行

查看修改后的信息

目前,MySQL还不提供对已存在的存储过程的代码修改

如果,一定要修改存储过程的diam,必须,先将存储过程删除之后,在重新编写代码,或者创建一个新的存储过程

到此这篇关于MySQL修改存储过程的文章就介绍到这了,更多相关MySQL修改存储过程内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Mysql修改存储过程相关权限问题

    在使用mysql数据库经常都会遇到这么一个问题,其它用户定义的存储过程,现在使用另一个用户却无法修改或者删除等:正常情况下存储过程的定义者对它有修改.删除的权限:但是其它的用户就要相于的授权,不然无法查看.调用: mysql 中使用用户A创建一个存储过程,现在想通过另一个用户B来修改A创建的存储过程:以下记录就是基于这样的情况产生的: 用户A对OTO3库的权限: mysql> show grants for 'a'@'%'; +----------------------------------

  • MYSQL将表名称修改成大写的存储过程

    本文为大家分享了MYSQL将表名称修改成大写的存储过程,具体内容如下 1. 条件: 1.1 Mysql设置对大小写敏感 2. 执行下述存储过程:  #call uppercase('库名') DROP PROCEDURE IF EXISTS uppercase; CREATE PROCEDURE uppercase(IN dbname VARCHAR(200)) BEGIN DECLARE done INT DEFAULT 0; DECLARE oldname VARCHAR(200); DEC

  • MySQL修改存储过程的详细步骤

    前言 在实际开发中,业务需求修改的情况时有发生,这样,不可避免的需要修改存储过程的特征 MySQL中,使用ALTER语句修改存储过程的特性 语法格式 ALTER {PROCEDURE | FUNCTION} sp_name [characteristic--] 参数说明 Sp_name,表示存储过程或函数的名称 characteristic,表示要修改存储过程的哪个部分 Characteristic的取值如下 CONTAINS SQL,表示子程序包含SQL语句,但是,不包含读或写数据的语句 NO

  • linux 安装 mysql 8.0.19 详细步骤及问题解决方法

    最近买了个腾讯云服务器,搭建环境. 该笔记用于系统上未装过mysql的干净系统第一次安装mysql.自己指定安装目录,指定数据文件目录. linux系统版本: CentOS 7.3 64位 安装源文件版本:mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz mysql安装位置:/software/mysql 数据库文件数据位置:/data/mysql 注:未防止混淆,这里都用绝对路径执行命令 除了文件内容中的#,这里所有带#都是linux命令 >mysql 是m

  • MySQL中存储过程的详细详解

    目录 概述 优点 缺点 MySQL存储过程的定义 存储过程的基本语句格式 存储过程的使用 定义一个存储过程 定义一个有参数的存储过程 定义一个流程控制语句 IF ELSE 定义一个条件控制语句 CASE 定义一个循环语句 WHILE 定义一个循环语句 REPEAT UNTLL 定义一个循环语句 LOOP 使用存储过程插入信息 存储过程的管理 显示存储过程 显示特定数据库的存储过程 显示特定模式的存储过程 显示存储过程的源码 删除存储过程 后端调用存储过程的实现 总结 概述 由MySQL5.0 版

  • 在Mac OS X中配置Apache+PHP+MySQL运行环境的详细步骤

    这是一篇超级详细的配置mac os下面php+mysql+apache的文章.非常详细 我的大部分配置就是参考上面的内容的,比如,PHP不能连接数据库,就是改一下默认的php.ini中pdo_mysql.default_socket[因为现在都用PDO了嘛.不用mysql的连接库了] 因为我是用navicat的,所以对phpmyadmin那一块的配置就不太关心了.不过MCrypt的安装可以参考. Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10

  • QT出现没有MySQL驱动手动编译详细步骤

    报错代码: "QSqlDatabase: QMYSQL driver not loaded ,QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7" 压根就没有QMYSQL,那么就需要我们手动编译,非常简单. 笔者的配置: QT版本 :5.13.0 MySQL数据库是使用的SQLyog,一个像excel的非常简单的MySQL数据库处理软件 1.下载64位的MySQL Community Server,截至笔

  • Linux上通过binlog文件恢复mysql数据库详细步骤

     一.binlog 介绍 服务器的二进制日志记录着该数据库的所有增删改的操作日志(前提是要在自己的服务器上开启binlog),还包括了这些操作的执行时间.为了显示这些二进制内容,我们可以使用mysqlbinlog命令来查看. 用途1:主从同步 用途2:恢复数据库(也是线上出现一次数据库文件丢失后,才对这个有所了解并学习的) mysqlbinlog命令用法:shell> mysqlbinlog [options] log_file ... <!--[if !supportLists]-->

  • MySQL解压版配置步骤详细教程

    mysql-5.7.14-winx64\bin配置到Path中 在解压路径下复制my-default.ini,修改名称为my.ini 在my.ini添加如下 [mysqld] basedir=C:\\software\Mysql\mysql-5.7.14-winx64 datadir=C:\\software\Mysql\mysql-5.7.14-winx64\data port=3306 basedir:是上述mysql的解压路径 datadir:后续初始化等数据都会保存在该目录下,在该文件目

  • 使用IDEA配置Tomcat和连接MySQL数据库(JDBC)详细步骤

    IDEA配置Tomcat 1,点击Run-EDit Configurations- 2.点击左侧"+"号,找到Tomcat Server-Local(若是没有找到Tomcat Server 可以点击最后一行 34 items more) 3.在Tomcat Server -> local-> Server -> Application server项目下,点击 Configuration ,找到本地 Tomcat 服务器,再点击 OK按钮. 至此,IntelliJ I

  • Mysql通过ibd文件恢复数据的详细步骤

    恢复步骤 1.创建数据库(随意创建) 2.创建数据表(备注:表结构要和要恢复的表结构一致,row_format要和ibd文件的row_format一致,否则,会提示两者不一致. 当前row_format=dynamic) 3.表的属性查看 我们使用:show table status like ‘matlab’\G,查看表的属性 备注:创建表时候的row_format和表属性的不一致,基于innodb是,要把row_format设置成dynamic时,需要修改mysql的全局配置,直接在myql

随机推荐