久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:150日期:2023-10-29 11:21:31

create view v_getdateasselect getdate() [output]go---------------------------------------------------------------create function f_getdate()returns datetimeasbegindeclare @n datetimeselect @n = output from v_getdatereturn(@n)endgo---------------------------------------------------------------

調用: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

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

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

標簽: Sql Server 數據庫
主站蜘蛛池模板: 平遥县| 启东市| 门头沟区| 定州市| 漳州市| 拉孜县| 赤峰市| 青阳县| 涟水县| 太康县| 汉源县| 中阳县| 西青区| 介休市| 谢通门县| 盐源县| 旌德县| 淳化县| 青田县| 方正县| 门源| 隆回县| 鄂尔多斯市| 卫辉市| 米林县| 肥西县| 汶上县| 电白县| 高碑店市| 桂阳县| 温宿县| 临城县| 乌兰察布市| 株洲县| 湖北省| 沅陵县| 舟山市| 卢龙县| 榕江县| 琼海市| 象州县|