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

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

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

特定のタスク (クエリと更新) を実行できる、データベースに保存される SQL コード スニペットのセット。

mysql 関数の概念:

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

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

  • ストアド プロシージャには複数の in、out、inout パラメータを設定できますが、関数には入力パラメータ タイプのみがあり、in を設定することはできません。
  • ストアド プロシージャによって実装される関数はより複雑ですが、関数はより単一機能 (ターゲットを絞ったもの) で、よりターゲットを絞ったものになります。
  • ストアド プロシージャは複数の値を返すことができますが、ストアド関数は 1 つの値のみを返すことができます。
  • ストアド プロシージャは通常は独立して実行されますが、ストアド関数は他の SQL ステートメントのコンポーネントとして表示されることがあります。
  • ストアド プロシージャはストアド関数を呼び出すことができます。関数はストアド プロシージャを呼び出すことができません。

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

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

カスタム関数の作成

構文形式: create 関数名 (パラメータ タイプ、パラメータ タイプ...) 戻り値の型 戻り値の式 値;

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

2. 戻り値は 1 つだけである必要があります。

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

4. 決定論的を追加しないとエラーが発生します(解決方法がわかりません)

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

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

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQLシリーズ5つのビュー、ストアド関数、ストアドプロシージャ、トリガー
  • MySQL ストアドプロシージャとストアドファンクションの詳細な説明
  • MySQLカスタム関数とストアドプロシージャの詳細な説明
  • MySQL でのストアド プロシージャと関数の作成の詳細な説明

<<:  Nginx Rewrite の使用シナリオとコード例の詳細な説明

>>:  マウスの尾行効果を実現する JavaScript

推薦する

Tomcatを使用して共有ライブラリを設定し、同じjarを共有する

デプロイされるプロジェクトが増えるにつれて、Tomcat にデプロイされるリリース パッケージも増え...

div 内の img と span の垂直方向の中央揃えの問題について

以下のように表示されます。 XML/HTML コードコンテンツをクリップボードにコピー<htm...

MySQL 高可用性クラスタの展開とフェイルオーバーの実装

目次1. 内閣府1. コンセプト2. MHAの構成3. MHAの特徴2. MySQL+MHAをビルド...

docker に基づいて nginxssl 設定を開始する

前提条件クラウドサーバー(Alibaba Cloud、Tencent CloudなどのcentOS)...

データベースアカウントのパスワード暗号化の詳細な説明と例

データベースアカウントのパスワード暗号化の詳細な説明と例データベースアカウントとパスワードはデータベ...

Apache での ab パフォーマンス テスト結果を分析する

私はパフォーマンス テストを行うために常に Loadrunner を使用してきました。 Loadru...

良い広告にはどのような特徴が必要ですか?

広告業は人間であることに似ていると言う人がいます。これは本当です。優れた広告には、優れた人間と同じよ...

MySQLでカーソルを宣言する方法

MySQL でカーソルを宣言する方法: 1. 変数とカーソルを宣言する 結果をvarchar(300...

LDAP ユーザー認証を使用するように Linux を構成する方法

私は CentOS に実装された LDAP ユーザー管理を使用しています。これはインターネット上のほ...

Docker ベースの Tomcat クラスタと Nginx ロード バランシングの展開の概要

目次前面に書かれた1. Ngixnイメージの作成2. Java Web (Tomcat) アプリケー...

JavaScript オブジェクトからプリミティブ値への変換の詳細な説明

目次オブジェクトプロトタイプの値()オブジェクトプロトタイプtoString()シンボル.toPri...

水平ヒストグラムを作成するための MySQL ソリューション

序文ヒストグラムは、RDBMS によって提供される基本的な統計情報です。最も一般的に使用されるのは、...

MySQL で結合を使用して SQL を最適化する方法の詳細な説明

0. 以下のテストに関連する表を準備する関連するテーブル作成ステートメントについては、https:/...

JSON.stringify の簡易版の実装とその 6 つの主要機能の詳細な説明

目次序文JSON.stringify の 6 つの機能特集1特集2特集3特集4特集5特集6手動で文字...

UCenter ホームサイトに統計コードを追加

UCenter Homeは、ComsenzがリリースしたSNSサイト構築システムです。最新バージョン...