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

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

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

瀏覽:122日期: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 數據庫
主站蜘蛛池模板: 泽库县| 昆明市| 德化县| 布尔津县| 东丰县| 乌拉特前旗| 玉山县| 阜新市| 太原市| 类乌齐县| 苏尼特左旗| 诏安县| 长宁县| 方山县| 从化市| 潢川县| 秦皇岛市| 邻水| 青铜峡市| 崇左市| 遵义县| 云和县| 赤壁市| 甘谷县| 沧源| 耿马| 浦东新区| 南汇区| 六枝特区| 宁夏| 乐山市| 滦平县| 那曲县| 淳化县| 夏河县| 三原县| 望江县| 涞源县| 若尔盖县| 宁陵县| 阿图什市|