程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MS SQL基礎教程:用戶自定義函數

MS SQL基礎教程:用戶自定義函數

編輯:關於SqlServer

除了使用系統提供的函數外,用戶還可以根據需要自定義函數。用戶自定義函數(User Defined Functions)是SQL Server 2000 新增的數據庫對象,是SQL Server 的一大改進。

用戶自定義函數不能用於執行一系列改變數據庫狀態的操作,但它可以像系統函數一樣在查詢或存儲過程等的程序段中使用,也可以像存儲過程一樣通過EXECUTE 命令來執行。用戶自定義函數中存儲了一個Transact-SQL 例程,可以返回一定的值。

在SQL Server 2000 中根據函數返回值形式的不同將用戶自定義函數分為三種類型: 標量型函數(Scalar functions)

標量型函數返回一個確定類型的標量值其返回值類型為除TEXT、 NTEXT、 IMAGE、CURSOR、 TIMESTAMP 和TABLE 類型外的其它數據類型。函數體語句定義在BEGIN-END語句內,其中包含了可以返回值的Transact-SQL 命令。 內聯表值型函數(Inline table-valued functions)

內聯表值型函數以表的形式返回一個返回值,即它返回的是一個表內聯表值型函數沒有由BEGIN-END 語句括起來的函數體。其返回的表由一個位於RETURN 子句中的SELECT 命令段從數據庫中篩選出來。內聯表值型函數功能相當於一個參數化的視圖。 多聲明表值型函數(Multi-statement table-valued functions)

多聲明表值型函數可以看作標量型和內聯表值型函數的結合體。它的返回值是一個表,但它和標量型函數一樣有一個用BEGIN-END 語句括起來的函數體,返回值的表中的數據是由函數體中的語句插入的。由此可見,它可以進行多次查詢,對數據進行多次篩選

與合並,彌補了內聯表值型函數的不足。

13.13.1 創建用戶自定義函數

SQL Server 2000 為三種類型的用戶自定義函數提供了不同的命令創建格式。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved