我需要检查函数最后一次修改的时间。我知道如何检查创建日期(在SQL Server Management Studio中的函数属性窗口中可以找到)。
我发现在SQL Server 2000中无法检查修改日期(请看这篇帖子:在SQL Server 2000中是否有办法确定存储过程的最后修改时间?)
在SQL Server 2008中是否有可能检查它?微软是否在系统表中添加了一些新功能以允许检查它?
我需要检查函数最后一次修改的时间。我知道如何检查创建日期(在SQL Server Management Studio中的函数属性窗口中可以找到)。
我发现在SQL Server 2000中无法检查修改日期(请看这篇帖子:在SQL Server 2000中是否有办法确定存储过程的最后修改时间?)
在SQL Server 2008中是否有可能检查它?微软是否在系统表中添加了一些新功能以允许检查它?
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
ORDER BY modify_date DESC
函数的 type
应为 FN
,而不是过程(P
)。或者您可以根据名称列进行筛选。
对于存储过程,请尝试以下方法:
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
AND name = 'myProc'
这是找到一个函数的正确解决方案:
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'fn'
AND name = 'fn_NAME'
我发现这被列为新技术
这非常详细
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'PROCEDURE' and ROUTINE_SCHEMA = N'dbo'
order by LAST_ALTERED desc
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'PROCEDURE' and ROUTINE_SCHEMA = N'dbo'
order by CREATED desc
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'FUNCTION' and ROUTINE_SCHEMA = N'dbo'
order by LAST_ALTERED desc
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = N'FUNCTION' and ROUTINE_SCHEMA = N'dbo'
order by CREATED desc
SELECT create_date, modify_date, name FROM sys.procedures
ORDER BY modify_date DESC
对于 SQL 2000,我会使用:
SELECT name, crdate, refdate
FROM sysobjects
WHERE type = 'P'
ORDER BY refdate desc
函数
和 存储过程
的修改日期:SELECT 'Stored procedure' as [Type] ,name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
UNION all
Select 'Function' as [Type],name, create_date, modify_date
FROM sys.objects
WHERE type = 'FN'
ORDER BY modify_date DESC
SELECT type ,name, create_date, modify_date
FROM sys.objects
WHERE type in('P','FN')
ORDER BY modify_date DESC
-- this one shows type like : FN for function and P for stored procedure
Type | name | create_date | modify_date
'Stored procedure' | 'firstSp' | 2018-08-04 07:36:40.890 | 2019-09-05 05:18:53.157
'Stored procedure' | 'secondSp' | 2017-10-15 19:39:27.950 | 2019-09-05 05:15:14.963
'Function' | 'firstFn' | 2019-09-05 05:08:53.707 | 2019-09-05 05:08:53.707
SELECT *
FROM sys.objects
WHERE type IN ('FN', 'IF', 'TF')
AND name = 'dgdsgds'
SELECT name, created_at, updated_at
FROM table_name.column_name
WHERE type = 'soemthing'
ORDER BY updated_at DESC ;
我希望这能帮到你
AND name = '指定的存储过程'
,其中指定的存储过程
是您想要查找的存储过程的名称。 - TylerH