PostgreSQL 內(nèi)部函數(shù)

2021-09-03 14:14 更新

內(nèi)部函數(shù)由 C 編寫(xiě)并且已經(jīng)被靜態(tài)鏈接到PostgreSQL 服務(wù)器中。該函數(shù)定義的主體指定該函數(shù)的 C 語(yǔ)言名稱(chēng), 它必須和聲明 SQL 函數(shù)所用的名稱(chēng)一樣(為了向后兼容性的原因,也接受空 主體,那時(shí)會(huì)認(rèn)為 C 語(yǔ)言函數(shù)名與 SQL 函數(shù)名相同)。

通常,所有存在于服務(wù)器中的內(nèi)部函數(shù)都在數(shù)據(jù)庫(kù)集簇的初始化(見(jiàn) 第 18.2 節(jié))期間被聲明,但是用戶(hù)可以使用 CREATE FUNCTION為一個(gè)內(nèi)部函數(shù)創(chuàng)建 額外的別名。在CREATE FUNCTION中用 語(yǔ)言名 internal來(lái)聲明內(nèi)部函數(shù)。例如,要為 sqrt函數(shù)創(chuàng)建一個(gè)別名:

CREATE FUNCTION square_root(double precision) RETURNS double precision
    AS 'dsqrt'
    LANGUAGE internal
    STRICT;

(大部分內(nèi)部函數(shù)應(yīng)該被聲明為嚴(yán)格)。

注意

上述場(chǎng)景中并非所有預(yù)定義的函數(shù)都是 內(nèi)部函數(shù)。有些預(yù)定義的函數(shù)由 SQL 編寫(xiě)。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)