mysql中存储过程的替代方法,可以更改

时间:2014-03-18 13:05:35

标签: mysql stored-procedures

1。)替代mysql中的存储过程,可以改变而不是删除并重新创建

2.。)维护数据库版本的简便方法 我目前正在手动创建log.sql文件,如 示例log.sql文件

    ALTER TABLE `ship` 
    CHANGE COLUMN `is_deleted` `is_deleted` INT(11) NULL DEFAULT 0 ;
    DROP procedure IF EXISTS `get_ship`;
    DELIMITER ;;
    CREATE PROCEDURE `get_ship`(

    )
    BEGIN
     do something;    
    end if;
    END ;;
    DELIMITER ;

是否有更好,更简单的方法来创建此类SQL日志文件,
我已经尝试过MYSQL工作台

1 个答案:

答案 0 :(得分:0)

就像使用CREATE PROCEDURE命令创建存储过程一样,您可以使用ALTER PROCEDURE更改它们。使用ALTER PROCEDURE更改存储过程的优点是它保留了访问权限,而CREATE PROCEDURE则没有。它们之间的主要区别在于ALTER PROCEDURE要求使用与原始CREATE PROCEDURE语句相同的加密和重新编译选项。如果在执行ALTER PROCEDURE时省略或更改它们,它们将在实际过程定义中被省略或永久更改。

过程可以包含任何有效的Transact-SQL命令,除了以下内容:CREATE DEFAULT,CREATE FUNCTION,CREATE PROC,CREATE RULE,CREATE SCHEMA,CREATE TRIGGER,CREATE VIEW,SET SHOWPLAN_TEXT和SET SHOWPLAN_ALL。这些命令必须位于自己的命令批处理中,因此不能成为存储过程的一部分。过程可以创建数据库,表和索引,但不能创建其他过程,默认值,函数,规则,模式,触发器或视图

但你可以在mysql中尝试使用u case

的视图