zoukankan      html  css  js  c++  java
  • MYSQL alter procedure alter function 它们只可以更改过程的特性,不可以更改过程的逻辑。

    例子:

      delimiter //
      create procedure proc_a(in numberA int) 这样create procedure 是正确的
      begin
        select numberA;
      end //
      delimiter ;

      delimiter //
      alter procedure proc_a(in numberA int) 这样是不行的,在mysql 中alter 只可以更改它的特性不可以改逻辑。
      begin
        select numberA;
      end //
      delimiter ;

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

    characteristic:
    { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }
    | COMMENT 'string'
    很好,可惜的是你没看懂。这个说明中根本就没提routine_body

    仔细和下面的语法对比一下,看看有什么差别。
    CREATE
    [DEFINER = { user | CURRENT_USER }]
    PROCEDURE sp_name ([proc_parameter[,...]])
    [characteristic ...] routine_body

    正确,只能修改其特性,不能修改代码。

  • 相关阅读:
    卡特兰数
    割点和桥
    子序列(超级水)
    react 进行时
    又开启react之路
    关于特殊字体
    react 组件传值
    git 的安装和项目建立
    ES6 let and const
    js封装的一行半显示省略号(字数自由控制)
  • 原文地址:https://www.cnblogs.com/JiangLe/p/4110866.html
Copyright © 2011-2022 走看看