【问题标题】:How to delete all procedures of a database in mysql5mysql5中如何删除一个数据库的所有程序
【发布时间】:2011-08-25 09:22:55
【问题描述】:

我想从我的 MySQL 数据库 sbnmaster 中删除所有过程。我应该如何为此编写查询?

【问题讨论】:

标签: mysql stored-procedures mysql-management


【解决方案1】:

试试这个

USE sbnmaster;

SELECT CONCAT("DROP PROCEDURE IF EXISTS ",SPECIFIC_NAME) AS StorePrecedure 
FROM information_schema.ROUTINES R 
WHERE R.ROUTINE_TYPE = "PROCEDURE" 
AND R.ROUTINE_SCHEMA = DATABASE(); 

【讨论】:

  • 我必须在 concat 中添加一个分号才能使其与多个 proc 一起工作:SELECT CONCAT("DROP PROCEDURE IF EXISTS ",SPECIFIC_NAME,";") AS StorePrecedure
【解决方案2】:

不确定它是否正确,但似乎有效 -

DELETE FROM mysql.proc WHERE db = 'sbnmaster' AND type = 'PROCEDURE';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-04
    • 2014-04-12
    • 2023-03-28
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 2018-03-06
    • 2023-03-10
    相关资源
    最近更新 更多