国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sql server關于函數中如何使用Getdate()

2024-08-31 00:50:38
字體:
來源:轉載
供稿:網友

create view v_getdate
as
select getdate() [output]
go
---------------------------------------------------------------
create function f_getdate()
returns datetime
as
begin
declare @n datetime
select @n = output from v_getdate
return(@n)
end
go
---------------------------------------------------------------

調用:select dbo.f_getdate()

======================================================================
-----以下是解析--------
應為function內部不允許使用
函數可以是確定的或不確定的。如果任何時候用一組特定的輸入值調用函數時返回的結果總是相同的,則這些函數為確定的。如果每次調用函數時即使用的是相同的一組特定輸入值,返回的結果總是不同的,則這些函數為不確定的。

不確定的函數會產生副作用。副作用是更改數據庫的某些全局狀態,比如更新數據庫表或某些外部資源,如文件或網絡等(例如,修改文件或發送電子郵件消息)。

不允許在用戶定義函數主體中內置不確定函數;這些不確定函數如下:

@@CONNECTIONS @@TOTAL_ERRORS
@@CPU_BUSY @@TOTAL_READ
@@IDLE @@TOTAL_WRITE
@@IO_BUSY GETDATE
@@MAX_CONNECTIONS GETUTCDATE
@@PACK_RECEIVED NEWID
@@PACK_SENT RAND
@@PACKET_ERRORS TEXTPTR
@@TIMETICKS  


盡管在用戶定義函數主體中不允許有不確定函數,這些用戶定義函數在調用擴展存儲過程時仍會產生副作用。

由于擴展存儲過程會對數據庫產生副作用,因此調用擴展存儲過程的函數是不確定的。當用戶定義函數調用會對數據庫產生副作用的擴展存儲過程時,不要指望結果集保持一致或執行函數。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开阳县| 乐昌市| 仙游县| 瑞金市| 大余县| 三亚市| 肃宁县| 页游| 临安市| 陆良县| 金堂县| 和平县| 揭西县| 连云港市| 义乌市| 姚安县| 赣州市| 陇川县| 邯郸县| 宣恩县| 镶黄旗| 汝阳县| 莫力| 虎林市| 无锡市| 麻栗坡县| 观塘区| 晴隆县| 亚东县| 顺昌县| 高雄县| 建水县| 南召县| 临猗县| 稻城县| 阿荣旗| 邳州市| 鹿泉市| 石狮市| 黑水县| 徐闻县|