ホームページ  >  記事  >  データベース  >  mysqlでストアドファンクションを作成する方法

mysqlでストアドファンクションを作成する方法

清浅
清浅オリジナル
2019-04-30 16:07:387328ブラウズ

ストアド関数を作成するための Mysql メソッド: [CREATE FUNCTION function_name(param1) RETURNS データ型 DETERMINISTIC ステートメント SQL]。ストアド関数はそれ自体が出力関数であるため、出力パラメーターを持つことはできません。

mysqlでストアドファンクションを作成する方法

#[おすすめコース:

mysql ビデオチュートリアル]

ストレージ関数

ストアド関数はストアド プロシージャに非常に似ており、SQL ステートメントと手続き型ステートメントで構成されるコードの断片であり、アプリケーションや他の SQL ステートメントから呼び出すことができます。 storage 関数自体は出力関数であるため、出力パラメータを持つことができず、call ステートメントなしで直接呼び出すこともできます。

mysqlでストアドファンクションを作成する方法

#ストレージ関数の作成

文法

CREATE FUNCTION function_name(param1,param2,…)    
RETURNS datatype   
[NOT] DETERMINISTIC statements
SQL

文法解析:

CREATE FUNCTION 句の後には、指定したストアド関数の名前が続きます

(param1,param2,…) :ストアド関数のすべてのパラメータを表します。デフォルトでは、すべてのパラメータはすべて IN パラメータです。 IN、OUT、または INOUT 修飾子はパラメータに指定できません。

RETURNS データ型: 戻り値のデータ型を示します。任意の有効な MySQL データ型にすることができます。

[NOT] DETERMINISTIC: 結果が未定義であることを示し、同じ入力が取得される可能性があります。異なる結果を出力します。値が指定されていない場合、デフォルトは [NOT] DETERMINISTIC

SQL: プログラム本体


例: SELECT ステートメントのクエリを返す、demo という名前のストアド関数を作成します。結果として、数値型は文字列になります。コードは次のとおりです:

mysql> DELIMITER  //
mysql> CREATE  FUNCTION  demo()
    -> RETURNS  CHAR(50)
    -> RETURN  (  SELECT  s_name  FROM  suppliers  WHERE  s_call='48075');
    -> //
Query OK, 0 rows affected (0.11 sec)
mysql> DELIMITER  ;

以上がmysqlでストアドファンクションを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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