13.2 用戶自定義函數
13.2.1 基本概念
1、 用戶定義函數可以擴展數據操作的功能,它在概念上類似于一般的程序設計語言中定義的函數。
13.2.2 創(chuàng)建和調用標量函數
標量函數—返回單個數據值的函數;
1、定義標量函數
CREATE FUNCTION [擁有者名.] 函數名
([{@ 參數名[AS]標量數據類型[=default]}[,…n]])
RETURNS 返回值類型
[AS]
BEGIN
函數體
RETURN 標量表達式
END
(1) 同存儲過程一樣,函數的參數也可以有默認值。
(2) 標量表達式:指定標量函數返回的標量值。
2、 調用標量函數:
當調用標量函數時,必須提供至少由兩部分組成的名稱:函數擁有者名和函數名?稍谌魏卧试S出現表達式的SQL語句中調用標量函數,只要類型一致;
13.2.3 創(chuàng)建和調用內嵌表值函數
1、 創(chuàng)建內嵌表值函數,其語法為:
CREATE FUNCTION [擁有者名.] 函數名
([{@ 參數名[AS]標量數據類型[=default]}[,…n]])
RETURNS 返回變量 TABLE <表定義>
[AS]
BEGIN
函數體
RETURN
END
<表定義>::=({列定義|表約束}[,…n])
2、調用多語句表值函數
多語句表值函數的返回值是一個表,因此對多語句表值函數的使用也是放在SELECT語句的FROM子句中。
13.3 觸發(fā)器
13.3.1 觸發(fā)器基本概念
1、 觸發(fā)器是一種特殊的存儲過程,其特殊性在于它不需要由用戶來調用,而是當用戶對表中的數據進行UPDATE、INSERT或DELETE操作時自動觸發(fā)執(zhí)行;
2、 觸發(fā)器常用于下列場合:
(1) 完成比CHECK的約束更復雜的數據約束;
(2) 為保證數據庫性能而維護的非規(guī)范化數據;
(3) 實現復雜的業(yè)務規(guī)則,可使業(yè)務的處理任務自動進行。
相關推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |