I want to delete all procedures from my MySQL database sbnmaster
. How should I write a query for this?
Asked
Active
Viewed 7,560 times
4
-
2http://stackoverflow.com/questions/3027832/drop-all-stored-procedures-in-mysql-or-using-temporary-stored-procedures – gmaliar Aug 25 '11 at 09:26
2 Answers
10
Try this
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();

StevenWhite
- 5,907
- 3
- 21
- 46

Rahul
- 76,197
- 13
- 71
- 125
-
I had to add a semicolon to the concat to get it to work with several procs: `SELECT CONCAT("DROP PROCEDURE IF EXISTS ",SPECIFIC_NAME,";") AS StorePrecedure ` – BenR Feb 18 '14 at 20:24
7
Not sure that it is correct, but seems it works -
DELETE FROM mysql.proc WHERE db = 'sbnmaster' AND type = 'PROCEDURE';

Devart
- 119,203
- 23
- 166
- 186