mat*_*mc3 2 t-sql sql-server user-defined-functions
使用SQL Server 2008,我想创建一个UDF,它给我一个对象的创建日期.这是代码:
create function dbo.GetObjCreateDate(@objName sysname) returns datetime as
begin
declare @result datetime
select @result = create_date from sys.objects where name = @objname
return @result
end
go
Run Code Online (Sandbox Code Playgroud)
我想将这个UDF放在master数据库或其他一些共享数据库中,以便可以从任何地方访问它,除非我这样做,然后sys.objects引用从master数据库而不是我正在启动我的查询的数据库.我知道你可以这样做,因为information_schema视图位于master并且只是包含对sys.objects的本地实例的调用,所以我希望有一个简单的方法来使用我的UDF.
小智 5
试试这个:
CREATE FUNCTION dbo.GetObjCreateDate(@objName sysname, @dbName sysname)
RETURNS datetime AS
BEGIN
DECLARE @createDate datetime;
DECLARE @params nvarchar(50);
DECLARE @sql nvarchar(500);
SET @params = '@createDate datetime OUTPUT';
SELECT @sql = 'SELECT @createDate = create_date FROM ' + @dbName + '.sys.objects WHERE name = ''' + @objname + '''';
EXEC sp_executesql @sql, @params, @createDate = @createDate OUTPUT;
RETURN @createDate
END
;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1438 次 |
| 最近记录: |