您
能夠在
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 執行個體名稱。