在SQL Server中检索删除的存储过程,可以通过查询系统表来实现。以下是一种方法:
SELECT [name], create_date, modify_date
FROM sys.objects
WHERE type = 'P' -- 只检索存储过程
AND is_ms_shipped = 0 -- 排除系统自带的存储过程
AND modify_date < create_date -- 修改日期早于创建日期,表示已删除
该查询从sys.objects系统表中选择存储过程的名称、创建日期和修改日期。其中,type = 'P'表示只检索存储过程,is_ms_shipped = 0表示排除系统自带的存储过程,modify_date < create_date表示修改日期早于创建日期,即表示已删除的存储过程。
SELECT OBJECT_DEFINITION(object_id) AS definition
FROM sys.objects
WHERE type = 'P'
AND is_ms_shipped = 0
AND modify_date < create_date
AND [name] = '存储过程名称'
将上述查询中的'存储过程名称'替换为实际的存储过程名称,可以获取该存储过程的定义。
请注意,以上查询仅适用于SQL Server数据库,对于其他数据库系统可能会有不同的查询语法和系统表。
领取专属 10元无门槛券
手把手带您无忧上云