ホームページ  >  記事  >  データベース  >  MySQL ストアド プロシージャと共通関数コードを分析する

MySQL ストアド プロシージャと共通関数コードを分析する

coldplay.xixi
coldplay.xixi転載
2020-08-20 16:04:241865ブラウズ

MySQL ストアド プロシージャと共通関数コードを分析する

mysql ストアド プロシージャの概念:

データベースに保存され、特定の作業 (クエリ) を実行できます。および更新) SQL コードのプログラム セグメントのセット。

mysql 関数の概念:

関数は、特定の関数を完了する SQL ステートメントです。関数は、組み込み関数とユーザー定義関数に分けられます (ユーザー定義関数 UDF)

MySQL ストアド プロシージャと関数の違い

  • ストアド プロシージャには複数の in、out、inout パラメータを指定できますが、関数には複数の in、out、inout パラメータを指定できます。入力パラメータの型のみを持ち、取り込むことはできません。
  • ストアド プロシージャによって実装される関数はより複雑ですが、関数の単一機能 (対象性) はより強力です。
  • ストアド プロシージャは複数の値を返すことができますが、ストアド関数は戻り値を 1 つだけ持つことができます。
  • ストアド プロシージャは通常、独立して実行されます。ストアド関数は、他の SQL ステートメントのコンポーネントとして現れることがあります。
  • ストアド プロシージャはストアド関数を呼び出すことができます。関数はストアド プロシージャを呼び出すことができません。

ストアド プロシージャは、特定の機能を完了するための一連の SQL ステートメントであり、コンパイル、作成され、データベースに保存されます。このアイデアは、コードをカプセル化し、データベース SQL 言語レベルで再利用することです。

注: in は入力パラメータを指し、out は出力パラメータを指します

カスタム関数の作成

構文形式 : create 関数名 (パラメータ タイプ、パラメータ タイプ...) returns type return 式の値;

注: 1. パラメータは存在しないか、複数存在する場合があります。

2. 戻り値は必ず必要ですが、戻り値は 1 つだけです。

3. SQL文がある場合はbegin...endの途中に配置します。

4. deterministic を追加しないとエラーが報告されます (解決方法がわかりません)

begin.. .end 複合ステートメント

は通常、ストアド プロシージャ、関数、トリガーに使用され、各ステートメントは;で区切られた 1 つ以上のステートメントを含めることができます。

関連する学習の推奨事項: mysql チュートリアル

以上がMySQL ストアド プロシージャと共通関数コードを分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。