Javaの知識仕上げエッセイ - スカラーとテーブル値関数

一例として、SQL Serverと:

図1に示すように、テーブル値関数

ユーザ定義テーブル関数は、値テーブルデータ型を返し、結果テーブルは、単一のSELECT文の集合です。

コードはCREATE FUNCTIONをサンプルTest_GetEmployeeSalary


@EmployeeID VARCHAR(20) -パラメータが

テーブルを返し-テーブルの戻り型
AS
RETURN

dbo.TEmployee SELECT * FROM
- SQLクエリによってテーブル内のデータを取得するWHERE社員= @EmployeeID


 -関数呼び出し
SELECT Test_GetEmployeeSalary *(」1' )FROM
---------------------

2、スカラー値関数

非常に単純な関数は整数値を返し、その後、ストアドプロシージャを呼び出すことができますが、別々に呼び出され、上記の関数呼び出しテーブルの値は、限り、あなたはラベルのための関数名を書くことができるよう、所有者を必要としないので、機能を大切に、そのような所有者はDBOで、所有者を追加する必要があります。

サンプルコード:
dbo.Test_GetMaxをCREATE FUNCTION

INT @a、 -二つのパラメータの関数
INTを@b

RETURNS INT - INTの戻り型
AS
BEGIN
DECLARE INTを@max;
IF(@a> @ = B)
BEGIN
SETを@a = @max;
END
ELSEは
BEGIN
SET @b = @max
END

戻り@maxと、 -最終的に、戻り値を返す@max
END

-呼び出す関数は
dbo.Test_GetMax(2,3)を選択します。

注意:

(1)例えばdbo.Test_GetMax(2,3)として、つまり、オブジェクト名の所有者であり、関数を呼び出す関数の2つの部分からなる名前を使用する必要があります

(2)すべての着信パラメータを追加する必要があります前に@

(3)など、返品、リターンとしてリークと間違ったキーワードを、書いてはいけません

(4)後変数に返すが、戻り値の型の変数ではありません

(5)開始/終了ステートメントブロックで、リターンを使用して


転送します。https://blog.csdn.net/luming666/article/details/78532695

 

おすすめ

転載: www.cnblogs.com/ashanxiaoya/p/11243931.html