46

我想找到我创建的存储过程,还想找到在特定日期(如 2012 年 9 月 27 日(27/09/2012))在我的 SQL Server 中修改的存储过程。

是否有任何查询会列出在该日期创建和修改的这些程序?

4

5 回答 5

78

您可以在任何给定的 SQL Server 数据库中尝试此查询:

SELECT 
    name,
    create_date,
    modify_date
FROM sys.procedures
WHERE create_date = '20120927'  

其中列出了名称、创建和最后修改日期——不幸的是,它没有记录创建和/或修改了相关存​​储过程。

于 2012-09-28T11:23:07.860 回答
15

这是“新学校”版本。

SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'PROCEDURE' and ROUTINE_SCHEMA = N'dbo' 
and CREATED = '20120927'
于 2013-11-13T13:21:21.563 回答
7
SELECT name
FROM sys.objects
WHERE type = 'P'
AND (DATEDIFF(D,modify_date, GETDATE()) < 7
     OR DATEDIFF(D,create_date, GETDATE()) < 7)
于 2013-11-13T13:02:54.217 回答
1
SELECT * FROM sys.objects WHERE type='p' ORDER BY modify_date DESC

SELECT name, create_date, modify_date 
FROM sys.objects
WHERE type = 'P'

SELECT name, crdate, refdate 
FROM sysobjects
WHERE type = 'P' 
ORDER BY refdate desc
于 2016-09-01T09:51:36.243 回答
0

对于 SQL Server 2012:

SELECT name, modify_date, create_date, type
FROM sys.procedures
WHERE name like '%XXX%' 
ORDER BY modify_date desc
于 2016-11-04T09:51:13.250 回答