第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

什么是SQL Server的確定性函數(shù)和不確定性函數(shù)?

什么是SQL Server的確定性函數(shù)和不確定性函數(shù)?

德瑪西亞99 2018-12-19 16:15:11
什么是SQL Server的確定性函數(shù)和不確定性函數(shù)
查看完整描述

1 回答

?
冉冉說(shuō)

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊

只要使用特定的輸入值集并且數(shù)據(jù)庫(kù)具有相同的狀態(tài),那么不管何時(shí)調(diào)用,確定性函數(shù)始終都會(huì)返回相同的結(jié)果。
即使訪問(wèn)的數(shù)據(jù)庫(kù)的狀態(tài)不變,每次使用特定的輸入值集調(diào)用非確定性函數(shù)都可能會(huì)返回不同的結(jié)果。 例如,函數(shù) AVG
對(duì)上述給定的限定條件始終返回相同的值,但返回當(dāng)前 datetime 值的 GETDATE 函數(shù)始終會(huì)返回不同的結(jié)果。
有多個(gè)用戶定義
函數(shù)的屬性通過(guò)對(duì)調(diào)用函數(shù)的計(jì)算列進(jìn)行索引或通過(guò)引用函數(shù)的索引視圖確定 SQL Server 數(shù)據(jù)庫(kù)引擎為函數(shù)的結(jié)果建立索引的功能。
函數(shù)的確定性是一個(gè)屬性。 例如,如果一個(gè)視圖引用了任何不確定性函數(shù),則無(wú)法對(duì)該視圖創(chuàng)建聚集索引。
有關(guān)函數(shù)屬性(包括函數(shù)確定性)的詳細(xì)信息,請(qǐng)參閱用戶定義函數(shù)。
本主題介紹了內(nèi)置系統(tǒng)函數(shù)的確定性,以及在包含對(duì)擴(kuò)展存儲(chǔ)過(guò)程的調(diào)用時(shí)對(duì)用戶定義函數(shù)的確定性的影響。

內(nèi)置函數(shù)的確定性

用戶無(wú)法影響任何內(nèi)置函數(shù)的確定性。 每個(gè)內(nèi)置函數(shù)都根據(jù) SQL Server 實(shí)現(xiàn)該函數(shù)的方式而分為確定性函數(shù)或非確定性函數(shù)。 例如,在查詢中指定 ORDER BY 子句不會(huì)更改查詢中使用的函數(shù)的決定機(jī)制。
所有字符串內(nèi)置函數(shù)都具有確定性。 有關(guān)這些函數(shù)的列表,請(qǐng)參閱字符串函數(shù) (Transact-SQL)。
內(nèi)置函數(shù)類別中除字符串函數(shù)以外的下列內(nèi)置函數(shù)始終具有確定性。

ABS DATEDIFF POWER
ACOS DAY RADIANS
ASIN DEGREES ROUND
ATAN EXP SIGN
ATN2 FLOOR SIN
CEILING ISNULL SQUARE
COALESCE ISNUMERIC SQRT
COS LOG TAN
COT LOG10 YEAR
DATALENGTH MONTH
DATEADD NULLIF
下列函數(shù)并非始終是確定性函數(shù),但是在以確定性方式指定后,可用于索引視圖或計(jì)算列的索引。

函數(shù)
注釋

所有聚合函數(shù) 除非用 OVER 和 ORDER BY 子句指定聚合函數(shù),否則所有聚合函數(shù)都具有確定性。 有關(guān)這些函數(shù)的列表,請(qǐng)參閱聚合函數(shù) (Transact-SQL)。
CAST 除非與 datetime、smalldatetime 或 sql_variant 一起使用,否則其他時(shí)候都是確定性的。
CONVERT 除非存在下列條件,否則為確定性函數(shù):

源類型是 sql_variant。

目標(biāo)類型是 sql_variant,其源類型不是確定性的。

源類型或目標(biāo)類型是 datetime 或 smalldatetime,其他源類型或目標(biāo)類型是字符串,并且指定了不確定的樣式。 若要為確定樣式,則樣式參數(shù)必須是常量。 此外,除了樣式 20 和 21,小于或等于 100 的樣式都具有不確定性。 大于 100 的樣式具有確定性,但樣式 106、107、109 和 113 除外。
CHECKSUM 確定性函數(shù),CHECKSUM(*) 除外。
ISDATE 只有與 CONVERT 函數(shù)一起使用、指定 CONVERT 樣式參數(shù)并且樣式不等于 0、100、9 或 109 時(shí),才是確定性函數(shù)。
RAND 僅當(dāng)指定 seed 參數(shù)時(shí),RAND 才是確定性函數(shù)。
所有配置、游標(biāo)、元數(shù)據(jù)、安全和系統(tǒng)統(tǒng)計(jì)函數(shù)都是非確定性函數(shù)。 有關(guān)這些函數(shù)的列表,請(qǐng)參閱配置函數(shù) (Transact-SQL)、游標(biāo)函數(shù) (Transact-SQL)、元數(shù)據(jù)函數(shù) (Transact-SQL)、安全函數(shù) (Transact-SQL) 和系統(tǒng)統(tǒng)計(jì)函數(shù) (Transact-SQL)。
其他類別中的下列內(nèi)置函數(shù)始終為非確定性函數(shù)。

@@CONNECTIONS GETDATE
@@CPU_BUSY GETUTCDATE
@@DBTS GET_TRANSMISSION_STATUS
@@IDLE LAG
@@IO_BUSY LAST_VALUE
@@MAX_CONNECTIONS LEAD
@@PACK_RECEIVED MIN_ACTIVE_ROWVERSION
@@PACK_SENT NEWID
@@PACKET_ERRORS NEWSEQUENTIALID
@@TIMETICKS NEXT VALUE FOR
@@TOTAL_ERRORS NTILE
@@TOTAL_READ PARSENAME
@@TOTAL_WRITE PERCENTILE_CONT
CUME_DIST PERCENTILE_DISC
CURRENT_TIMESTAMP PERCENT_RANK
DENSE_RANK RAND
FIRST_VALUE RANK
ROW_NUMBER
TEXTPTR

從函數(shù)中調(diào)用擴(kuò)展存儲(chǔ)過(guò)程


于擴(kuò)展存儲(chǔ)過(guò)程會(huì)對(duì)數(shù)據(jù)庫(kù)產(chǎn)生副面影響,因此調(diào)用擴(kuò)展存儲(chǔ)過(guò)程的函數(shù)為不確定性函數(shù)。
負(fù)面影響為對(duì)數(shù)據(jù)庫(kù)全局狀態(tài)的更改,如更新表、更新文件或網(wǎng)絡(luò)等外部資源;例如,修改文件或發(fā)送電子郵件。
從用戶定義函數(shù)中執(zhí)行擴(kuò)展存儲(chǔ)過(guò)程時(shí),不應(yīng)該依靠返回一致的結(jié)果集。 建議不要使用對(duì)數(shù)據(jù)庫(kù)產(chǎn)生負(fù)面影響的用戶定義函數(shù)。
從函數(shù)內(nèi)部調(diào)用擴(kuò)展存儲(chǔ)過(guò)程時(shí),該擴(kuò)展存儲(chǔ)過(guò)程不能向客戶端返回結(jié)果集。 任何向客戶端返回結(jié)果集的開放式數(shù)據(jù)服務(wù) API 將產(chǎn)生返回代碼 FAIL。
擴(kuò)展存儲(chǔ)過(guò)程可以連接回 SQL Server。 但是,該過(guò)程不能與調(diào)用擴(kuò)展存儲(chǔ)過(guò)程的原始函數(shù)聯(lián)接同一事務(wù)。
類似于從批處理或存儲(chǔ)過(guò)程中調(diào)用,擴(kuò)展存儲(chǔ)過(guò)程在運(yùn)行 Microsoft 的 SQL Server Windows 安全帳戶的上下文中執(zhí)行。 擴(kuò)展存儲(chǔ)過(guò)程的所有者在授予其他用戶執(zhí)行該過(guò)程的權(quán)限時(shí)應(yīng)該考慮此問(wèn)題。



查看完整回答
反對(duì) 回復(fù) 2019-01-05
  • 1 回答
  • 0 關(guān)注
  • 550 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)