亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > PostgreSQL > 正文

PostgreSQL7.0手冊-用戶手冊-19. SQL命令-CREATE AGGREGATE

2019-09-08 23:33:02
字體:
來源:轉載
供稿:網友
CREATE AGGREGATE
名稱
CREATE AGGREGATE ― 定義一個新的聚集函數 

語法
CREATE AGGREGATE name ( BASETYPE = input_data_type
    [ , SFUNC1 = sfunc1, STYPE1 = state1_type ]
    [ , SFUNC2 = sfunc2, STYPE2 = state2_type ]
    [ , FINALFUNC = ffunc ]
    [ , INITCOND1 = initial_condition1 ]
    [ , INITCOND2 = initial_condition2 ] )
輸入
name 
要創建的聚集函數名. 
input_data_type 
本聚集函數要處理的基本數據類型. 
sfunc1 
用于處理源數據列里的每一個非空(non-NULL)數據的狀態轉換函數.它必須是一個兩個參數的函數,第一個參數的類型是 state1_type 而第二個參數的類型是 input_data_type.此函數必須返回一個類型為 state1_type 的值.這個函數接受當前狀態值 1 和當前輸入數據條目,而返回下個狀態值 1. 
state1_type 
聚集的第一個狀態值的數據類型. 
sfunc2 
用于處理源數據列里的每一個非空(non-NULL)數據的狀態轉換函數.它是一個單個參數的函數,參數的類型是 state2_type,返回相同的類型.這個函數接受當前狀態值 2 和當前輸入數據條目,而返回下個狀態值 2. 
state2_type 
聚集的第二個狀態值的類型. 
ffunc 
在轉換完所有輸入域/字段后調用的最終處理函數.如果兩個狀態值都使用了,最終處理函數必須以兩個類型分別為 state1_type 和 state2_type 的數做參數.如果只使用了一個狀態值,最終處理函數必須以一個該狀態值的類型的數為參數.聚集的輸出數據類型被定義為此函數的返回類型. 
initial_condition1 
狀態值 1 的初始值. 
initial_condition2 
狀態值 2 的初始值. 
輸出
CREATE 
命令執行成功的返回信息. 

描述
CREATE AGGREGATE 允許用戶或程序員通過定義新的聚集函數來擴展 Postgres 的功能.一些用于基本類型的聚集函數如 min(int4) 和 avg(float8) 等已經包含在軟件里.如果你需要定義一個新類型或需要一個還沒有提供的聚集函數,這時便可用CREATE AGGREGATE 來提供我們所需要的特性. 
一個聚集函數是用它的名字和輸入數據類型來標識的.如果兩個聚集的輸入數據不同,它們可以有相同的名字.要避免沖突,不要寫一個與聚集同名而且輸入函數也相同的普通函數. 

一個聚集函數是由一到三個普通函數做成的:兩個狀態轉換函數,sfunc1 和 sfunc2,和一個最終計算函數,ffunc.它們是這樣使用的: 

sfunc1( internal-state1, next-data-item ) ---> next-internal-state1
sfunc2( internal-state2 ) ---> next-internal-state2
ffunc(internal-state1, internal-state2) ---> aggregate-value
Postgres 創建一個或兩個臨時變量(數據類型是 stype1 和/或 stype2)用于保存被轉換函數作為參數的中間結果.對于每個輸入數據條目,都調用狀態轉換函數計算內部狀態值的新數值.在處理完所有數據后,調用一次最終處理函數以計算聚集的輸出值. 
如果兩個轉換函數都聲明了,那么必須聲明 ffunc.如果只聲明了一個轉換函數,那么ffunc 是可選的.在沒有提供 ffunc 時的缺省動作是返回所使用的內部狀態值的最后的值(因此,聚集的輸出類型于狀態值的類型相同). 

一個聚集函數還可能提供一到兩個初始條件,也就是說,所用的該內部狀態值的初始值.這些值是做為類型 text 的數據域存儲在數據庫里的,不過它們必須是狀態值數據類型的有效外部表現形式的常量.如果聲明了 sfunc1 而沒有聲明 initcond1 值,那么系統不會對第一個輸入條目調用l sfunc1;取而代之的是,用第一個輸入條目初始化內部狀態值 1,而從第二個輸入條目的開始調用 sfunc1.這樣對于象 MIN 和 MAX 這樣的函數是很有用的.請注意一個使用這個特性的聚集在沒有輸入值時將返回 NULL.對狀態值 2 沒有類似的準備;如果聲明了 sfunc2,那么需要一個 initcond2. 

注意
使用 DROP AGGREGATE 刪除聚集函數. 
CREATE AGGREGATE 的參數可以以任何順序書寫,而不只是上面顯示的順序. 

聲明的聚集函數有可能有各種各樣不同的狀態和終處理函數組成.比如,count 聚集需要 Ssfunc2?。ㄒ粋€遞增函數)但不需要 sfunc1 或 ffunc,而 sum 聚集需要 sfunc1?。ㄒ粋€累加函數)但不需要 sfunc2 或 ffunc 而 avg 聚集需要上面所有狀態函數和一個 ffunc (一個除法函數)來計算結果.在任何情況下,至少要定義一個狀態函數,而且任何 sfunc2 都有一個對應的 initcond2.

用法
請參考 PostgreSQL 程序員手冊 聚集函數章節的聚集函數部分獲取完整的例子. 
 
兼容性
SQL92
CREATE AGGREGATE 是 Postgres 語言的擴展.在 SQL92 里沒有 CREATE AGGREGATE?。?/SPAN>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久好看免费视频| 久久综合88中文色鬼| 日韩激情av在线免费观看| 亚洲男人天堂古典| 亚洲成人av片在线观看| 一区二区欧美亚洲| 精品亚洲永久免费精品| 国产91精品久久久久| 国产中文字幕亚洲| 992tv成人免费影院| 日韩电影在线观看永久视频免费网站| 欧美电影在线播放| 久久久久久久久久久国产| 国产一区二区动漫| 97超视频免费观看| 欧美性videos高清精品| 亚洲视频在线观看| 久久久久久亚洲精品| 国产欧美日韩中文字幕| 亚洲精品福利视频| 欧美巨猛xxxx猛交黑人97人| www.色综合| 亚洲国产成人久久综合一区| 亚洲性夜色噜噜噜7777| 欧美高清在线观看| 欧日韩在线观看| 97碰碰碰免费色视频| 欧美激情精品久久久久久| 欧美精品免费在线观看| 欧美猛男性生活免费| 亚洲a级在线观看| 日韩在线精品一区| 亚洲一区二区在线播放| 亚洲区一区二区| 欧美精品久久久久| 成人福利在线观看| 91久久久久久久久久久久久| 麻豆国产精品va在线观看不卡| 久久精品免费播放| 国产成人精品一区| 国产精品成人免费视频| 5566日本婷婷色中文字幕97| 久久久久国产一区二区三区| 亚洲欧美成人在线| 国产视频精品xxxx| 综合欧美国产视频二区| 日本成人黄色片| 日韩免费av一区二区| 久久免费成人精品视频| 久久久久久久久久久免费精品| 国产精品成人一区二区| 国产精品视频永久免费播放| 国产精品午夜一区二区欲梦| 国产精品成人播放| 国产精品1234| 日韩有码在线观看| 在线日韩中文字幕| 九九久久综合网站| 亚洲自拍欧美另类| 欧美肥老太性生活视频| 亚洲精品在线观看www| 久久亚洲精品国产亚洲老地址| 自拍偷拍免费精品| 久久成年人免费电影| 日韩av在线免费观看| 秋霞成人午夜鲁丝一区二区三区| 亚洲国产女人aaa毛片在线| 午夜精品久久久久久99热| 欧美一区二区三区……| 国产亚洲精品成人av久久ww| 热久久免费国产视频| 国产精品18久久久久久首页狼| 4p变态网欧美系列| 4k岛国日韩精品**专区| 亚洲aⅴ日韩av电影在线观看| 一区二区三区四区在线观看视频| 日韩欧美国产骚| 在线播放日韩精品| 欧美黑人巨大xxx极品| 欧美黄色片在线观看| 午夜精品一区二区三区在线视频| 国产亚洲美女精品久久久| 91在线精品视频| 欧美高清无遮挡| 成人免费福利视频| 午夜欧美大片免费观看| 久久精品99久久久久久久久| 日韩av电影在线播放| 色噜噜狠狠色综合网图区| 97在线视频一区| 亚洲精品国精品久久99热一| 亚洲福利在线播放| 国产亚洲欧洲高清| 亚洲国产欧美在线成人app| 91日本视频在线| 在线观看国产成人av片| 久久久精品国产网站| 国产午夜精品视频| 最近2019中文字幕第三页视频| 日韩精品免费视频| 亚洲国产精品va在线看黑人| 日韩电影免费在线观看中文字幕| 亚洲成人黄色在线观看| 成人午夜激情免费视频| 色综合色综合久久综合频道88| 麻豆精品精华液| 日韩视频在线观看免费| 亚洲美女av黄| 久久亚洲影音av资源网| 日韩精品免费综合视频在线播放| 欧美精品免费播放| 91手机视频在线观看| 日韩av资源在线播放| 亚洲高清av在线| 国产精品免费视频久久久| 国产精品福利片| 麻豆国产精品va在线观看不卡| 久久国产精品电影| 日韩在线一区二区三区免费视频| 一本久久综合亚洲鲁鲁| 欧美日韩久久久久| 国产乱肥老妇国产一区二| 欧美在线观看一区二区三区| 91在线国产电影| 欧美丝袜美女中出在线| 亚洲第一网站免费视频| 26uuu另类亚洲欧美日本一| 日韩av电影免费观看高清| 国产视频精品xxxx| 欧美风情在线观看| 国产精品嫩草影院久久久| 91高潮精品免费porn| 久久夜精品va视频免费观看| 大伊人狠狠躁夜夜躁av一区| 91免费在线视频| 日韩一区在线视频| 国产成+人+综合+亚洲欧美丁香花| 国产精品爽爽爽爽爽爽在线观看| 国产亚洲激情在线| 久久99久国产精品黄毛片入口| 国产亚洲精品va在线观看| 91影院在线免费观看视频| 亚洲国产高清自拍| 精品久久香蕉国产线看观看亚洲| 中文字幕精品视频| 亚洲韩国日本中文字幕| 性色av一区二区三区| 欧美中文在线观看| 欧美午夜无遮挡| 久久躁狠狠躁夜夜爽| 色综合久久中文字幕综合网小说| 国产精品日韩精品| 午夜精品久久久久久久久久久久久| 中文亚洲视频在线| 久久久国产在线视频| 国产精品丝袜高跟| 91久久久久久久久| 中日韩午夜理伦电影免费| 欧美激情啊啊啊| 亚洲人成电影网站| 国产日产久久高清欧美一区| 亚洲欧美制服第一页| 久久久久久久成人| 欧美黑人又粗大|