ホームページ  >  記事  >  データベース  >  Mysql関数の関連説明

Mysql関数の関連説明

jacklove
jackloveオリジナル
2018-06-14 16:37:241786ブラウズ

意味: バッチステートメントとして理解できる、事前にコンパイルされた SQL ステートメントのセット
機能:

  • コードの再利用性を向上させる

  • 操作を簡素化する

  • コンパイルの数を減らすデータベースサーバーへの接続数が減り、効率が向上します。

とストアドプロシージャの違い:
ストアドプロシージャ: 0 回のリターンまたは複数回のリターンがあり、バッチ挿入およびバッチ挿入の更新
に適しています。 関数: データを処理して結果を返すのに適した戻り値は 1 つだけです

1. 関数の構文

1.

DELIMITER $
CREATE FUNCTION 函数名(参数列表) RETURNS 返回类型
BEGIN
	函数体
END$
DELIMITER ;

を作成します:

  • パラメーター リストには 2 つの部分が含まれています。値の型はパラメータ名のパラメータ型

  • の先頭で宣言する必要があります。

  • 関数本体にはreturnステートメントが必要です。エラーは報告されません

  • 終了マークを設定するには区切り文字ステートメントを使用してください

----------

2.

SELECT 函数名(参数列表)

関数を呼び出す この関数には戻り値があるため、この値は select を使用して出力できます。

==========

2. ケースのデモ

1. パラメータなしで関数を返す

ケース: 生徒の総数テーブルを返す

1.1 関数を作成する

DELIMITER $
CREATE FUNCTION myFun1() RETURNS INT
BEGIN 
	DECLARE num INT DEFAULT 0;  #定义一个变量
	SELECT COUNT(*) INTO num  #赋值
	 FROM student;
	RETURN num;   #返回值
END $
DELIMITER ;

その後、コンパイルするには以下を実行する必要があります

1.2 関数を呼び出す


----------


2 パラメータと戻り値があります


Case: Return生徒名に基づくスコア

2.1 関数の作成

SELECT  myFun1();

2.2 呼び出し

DELIMITER $
CREATE FUNCTION myFun2(stuName VARCHAR(20)) RETURNS INT
BEGIN
	DECLARE grade INT DEFAULT 0;  #定义变量
	SELECT s.grade INTO grade #赋值
	FROM student s
	WHERE s.name = stuName;
	
	RETURN grade;  #返回
END $
DELIMITER ;


==========

3. 関数の表示

SELECT  myFun2('盖伦');

4.関数の削除

SHOW CREATE FUNCTION myFun1;

この記事では、Mysql 関数の関連コンテンツについて説明します。関連する推奨事項については、php 中国語 Web サイトを参照してください。

関連する推奨事項:

SQLLite 関連コンテンツ


Spark SQL はログオフラインバッチ処理を実装します


sql 2 つの隣接するレコード間の時間差の比較

以上がMysql関数の関連説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。