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

推薦する

MySQL の日付と時刻関数の概要 (MySQL 5.X)

1. MySQLは現在の日付と時刻を取得する関数1.1 現在の日付 + 時刻 (日付 + 時刻) ...

Vueタブとキャッシュページを切り替えるいくつかの方法

目次1. 切り替え方法2. タブを動的に生成する3. キャッシュコンポーネント3.1 キープアライブ...

IIS 7.5では、HTMLはSHTMLのようなinclude関数(モジュールマッピングの追加)をサポートします。

最初はたくさんのエラーを見つけましたが、実際には非常に簡単です。shtm の元の設定を参照するだけで...

Linux のバックグラウンドで実行するいくつかの方法 (まとめ)

1. ノーフープハングアップ信号を無視してプログラムを実行する追加メモnohup コマンドは、ハン...

HTML特殊文字の徹底分析

HTML徹底解析(14)特殊文字 ■ よく使われる特殊文字 HTMLタグを知っていれば、特殊文字の使...

ウェブページ上の小さなスペースに大きな画像を配置する方法

出典: www.bamagazine.comウェブページのバナー、ニュースの見出しの周りのスペース、...

Vueのフロントエンドとバックエンドのポートの不一致の問題を解決する

Vue のフロントエンドとバックエンドのポートが一致していませんconfig index.jsファイ...

WHMCS V7.4.2 グラフィカル インストール チュートリアル

1. はじめにWHMCS は、ユーザー管理、請求書の支払い、ヘルプ サービスなど、オンライン ビジネ...

Vueライフサイクル機能の詳細な説明

目次ライフサイクル関数一般的なライフサイクルフックVue のインスタンス破棄について:要約するライフ...

MySQL 8.0.23 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)

この記事では、MySQL 8.0.23のインストールと設定方法を参考までに紹介します。具体的な内容は...

CentOS8 jdk8 / java8 のインストールチュートリアル(推奨)

序文最初はCentOS8でwgetを使ってダウンロードし、解凍して環境変数を設定するつもりだったので...

Javascriptを使用して滑らかな曲線を生成する方法

目次序文ベジェ曲線の紹介二次ベジェ曲線3次ベジェ曲線ベジェ曲線計算機能フィッティングアルゴリズム付録...

ウェブページの右側に固定されたフローティングレイヤーの実装コード

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

div画像マーキーシームレス接続実装コード

コードをコピーコードは次のとおりです。 <html> <ヘッド> <ス...

CentOS7 カーネル カーネル5.0 バージョンアップグレード

アップグレードプロセス:元のシステム: CentOS7.3 [root@my-e450 ~]# un...