程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> sqlserver中的自界說函數的辦法小結

sqlserver中的自界說函數的辦法小結

編輯:MSSQL

sqlserver中的自界說函數的辦法小結。本站提示廣大學習愛好者:(sqlserver中的自界說函數的辦法小結)文章只能為提供參考,不一定能成為您想要的結果。以下是sqlserver中的自界說函數的辦法小結正文


“自界說函數”是我們平凡的說法,而“用戶界說的函數”是 SQL Server 中書面的說法。

SQL Server 2000 許可用戶創立自界說函數,自界說函數可以有前往值。

自界說函數分為:標量值函數或表值函數

假如 RETURNS 子句指定一種標量數據類型,則函數為標量值函數。可使用多條 Transact-SQL 語句界說標量值函數。
假如 RETURNS 子句指定 TABLE,則函數為表值函數。
表值函數又可分為:內嵌表值函數(行內函數)或多語句函數

假如 RETURNS 子句指定的 TABLE 不附帶列的列表,則該函數為內嵌表值函數。
假如 RETURNS 子句指定的 TABLE 類型帶有列及其數據類型,則該函數是多語句表值函數。
標量值函數示例

CREATE FUNCTION dbo.Foo()
RETURNS int
AS
BEGIN
declare @n int
select @n=3
return @n
END

內嵌表值函數示例

CREATE FUNCTION dbo.Foo()
RETURNS TABLE
AS
return select id, title from msgs

內嵌表值函數只要一個 select 語句。

多語句表值函數示例(部門)

CREATE FUNCTION fn_FindReports (@InEmpId nchar(5))
RETURNS @retFindReports TABLE (empid nchar(5) primary key,
empname nvarchar(50) NOT NULL,
mgrid nchar(5),
title nvarchar(30))
...

留意其 RETURNS 部門。

多語句函數的主體中許可應用以下語句。未鄙人面的列表中列出的語句不克不及用在函數主體中。

賦值語句。
掌握流語句。
DECLARE 語句,該語句界說函數部分的數據變量和游標。
SELECT 語句,該語句包括帶有表達式的選擇列表,個中的表達式將值付與函數的部分變量。
游標操作,該操作援用在函數中聲明、翻開、封閉和釋放的部分游標。只許可應用以 INTO 子句向部分變量賦值的 FETCH 語句;不許可應用將數據前往到客戶真個 FETCH 語句。
INSERT、UPDATE 和 DELETE 語句,這些語句修正函數的部分 table 變量。
EXECUTE 語句挪用擴大存儲進程。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved