java知識隨筆整理-標量函數和表值函數

以sql server爲例:sql

一、表值函數函數

用戶定義表值函數返回 table 數據類型,表是單個 SELECT 語句的結果集。.net

示例代碼CREATE FUNCTION Test_GetEmployeeSalaryserver

(
@EmployeeID VARCHAR(20) --參數
)
RETURNS TABLE --返回類型爲表
AS
RETURN
(
SELECT * FROM dbo.TEmployee
WHERE EmployeeID = @EmployeeID --經過一條sql查詢語句獲取表中數據
)

 --函數調用
SELECT * FROM Test_GetEmployeeSalary('1')
---------------------
對象

二、標量值函數blog

函數很簡單返回一個整型值,而後就能夠在存儲過程當中調用了,不過調用的方式有所不一樣,象上面的表值函數調用是不須要全部者的,只要寫函數名稱就能夠,對於標量值函數來講,是須要加上全部者的,好比全部者是dbo。

示例代碼:
CREATE FUNCTION dbo.Test_GetMax
(
@a INT, --函數的兩個參數
@b INT
)
RETURNS INT --返回類型爲INT
AS
BEGIN
DECLARE @max INT;
IF(@a>=@b)
BEGIN
SET @max = @a;
END
ELSE
BEGIN
SET @max = @b
END

RETURN @max; --最後return返回@max中的值
END

--調用函數
SELECT dbo.Test_GetMax(2,3);

table

注意:變量

(1)必須使用兩部分組成函數的名字來調用函數,即全部者.對象名,如dbo.Test_GetMax(2,3)數據類型

(2)全部的傳入參數前必須加@數據

(3)不要寫漏和寫錯關鍵字,如as,returns,return

(4)returns後面不是跟一個變量,而是跟變量的返回值類型

(5)在begin/end語句塊中,使用的是return

轉自:https://blog.csdn.net/luming666/article/details/78532695

相關文章
相關標籤/搜索