找回密码
 注册
搜索
热搜: 回贴
微赢网络技术论坛 门户 数据库 MSSQL 查看内容

SQL Server 2005-如何在SQL Server用户自订函数中调用

2009-12-26 01:42| 发布者: admin| 查看: 209| 评论: 0|原作者: 潇潇雨

您可以在SQL Server 2005的使用者自订函数(UDFs:User Defined Functions)中呼叫使用GetDate() 函数,下列这个范例程序即是一例:

-- 建立一个 UDF now()
CREATE FUNCTION dbo.now()
RETURNS DATETIME
AS
BEGIN
RETURN (GETDATE());
END;
GO
-- 测试看看是否真的有成功
SELECT dbo.now();
GO
-- 既然已经测试成功了,就可以移除
DROP FUNCTION dbo.now;
GO
图表1
SQL Sever 2005是微软花费了近五年时间,动用大批人员才完成的旷世巨作,因此很多SQL Server 2005独有的功能,在旧版的SQL Server无法使用,比方说,上述的程序代码在SQL Server 2000上执行便会有问题(如图表1所示),因为GETDATE() 函数会传回不同的日期时间,此时,请改用下列程序代码:
-- 设定 SQL Server 选项,使其允许加入linked server
EXEC sp_serveroption '<您的SQL Server 名称>', 'DATA ACCESS', TRUE
GO
-- 建立 UDF
CREATE FUNCTION dbo.now()
RETURNS DATETIME
AS
BEGIN
DECLARE @dt DATETIME
SELECT @dt = dt
FROM OPENQUERY
(
<您的SQL Server 名称>, 'SELECT dt = GETDATE()'
)
RETURN @dt
END
GO
-- 测试一下吧
SELECT dbo.now()
GO
-- 测试成功,就可以将其移除
DROP FUNCTION now
GO
请注意:请将程序代码中 <您的SQL Server 名称> 换掉,以符合您实际环境的 SQL Server 执行个体名称。

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 11:38 , Processed in 0.265939 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部