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

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

  • 相关阅读:
    学习日记(2.19 BP神经网络完整代码解读)
    学习日记(2.18)
    学习日记2.17
    学习日记(2.15---2.16)
    最后的作业
    C++第五次作业
    第四次作业:结对编程
    C++第四次作业
    第三次作业:原型设计
    conda基本操作
  • 原文地址:https://www.cnblogs.com/JiangLe/p/4110866.html
Copyright © 2011-2022 走看看