删除“无用存储过程”通常分两步走:先识别出无用的,再安全地删除。下面按常见数据库分别说明,并给出注意事项。
SELECT name, create_date, modify_date
FROM sys.procedures
ORDER BY modify_date;
SELECT *
FROM sys.sql_expression_dependencies
WHERE referenced_entity_name = '存储过程名';
DROP PROCEDURE [schema].[存储过程名];
-- 仅示例,务必先筛选
SELECT 'DROP PROCEDURE ' + QUOTENAME(s.name) + '.' + QUOTENAME(p.name) + ';'
FROM sys.procedures p
JOIN sys.schemas s ON p.schema_id = s.schema_id
WHERE p.modify_date < '2023-01-01';
SHOW PROCEDURE STATUS;
SHOW CREATE PROCEDURE 存储过程名;
DROP PROCEDURE IF EXISTS 存储过程名;
SELECT object_name, last_ddl_time
FROM user_objects
WHERE object_type = 'PROCEDURE';
DROP PROCEDURE 存储过程名;
-- SQL Server 示例
EXEC sp_rename 'proc_old', 'proc_old_bak';
如果你告诉我使用的数据库类型(SQL Server / MySQL / Oracle / PostgreSQL),我可以给你更精确的脚本。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。