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

推薦する

CSS3 における擬似クラスの一般的な使用法の詳細な説明

before/after 疑似クラスは、要素内に 2 つの追加タグを挿入するのと同じです。最も適した...

LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法

1. 最初の方法は、unhup コマンドを直接使用してプログラムをバックグラウンドで実行することです...

iviewは動的なフォームとカスタム検証期間の重複を実装します

フォーム項目を動的に追加するiview の動的なフォーム追加は非常に簡単です。フォーム項目を配列に設...

Hadoop 3.2.0 クラスターの構築に関する一般的な考慮事項

1つのポートの変更バージョン 3.2.0 では、ネームノード ページ ポートは 9870、データノー...

ブラウザ(IEシリーズ)を判別するための条件付きコメント

<!--[if IE 6]> IE6 のみが認識可能 <![endif]-->...

JDBC を使用して MySQL を操作するための簡単な分析では、Class.forName("com.mysql.jdbc.Driver") を追加する必要があります。

導入データベースに接続するためにJDBCを使用することに慣れている場合は、データベースに接続するため...

MySQL: データの整合性

データ整合性は、エンティティ整合性、ドメイン整合性、参照整合性に分けられます。参照整合性:参照整合性...

CentOS7にPHP7 Redis拡張機能をインストールする方法

導入前回の記事では、Redis をインストールして設定しましたが、まだ終わりではありません。PHP ...

見落とされがちなMETAタグの特殊効果(ページ遷移効果)

Web デザインで js を使用すると、多くのページ効果を実現できますが、HTML タグの META...

モバイル端末におけるビューポートの具体的な使用法についての簡単な説明

目次1. 基本概念1.1 2種類のピクセル1.2 3つのビューポート2. ビューポート設定3. 1回...

一般的な Linux ツール vi/vim の完全版

なぜvimを学ぶのかLinuxには多数の設定ファイルがあるため、Linuxには多くのテキスト処理ツー...

Zabbix は DingTalk のアラーム機能を画像付きで設定します

実装のアイデア:まず、アラーム情報にはitemidが必要です。これは前提条件です。情報に渡されるパラ...

CentOS7 環境で gcc (バージョン 10.2.0) をアップグレードする詳細な手順

目次簡単な紹介1. 現在のgccバージョンを確認する2. gccインストールパッケージ(バージョン1...

Zabbixのインストールと展開の詳細な説明

序文Zabbix は最も主流のオープンソース監視ソリューションの 1 つです。導入自体は難しくありま...

MySQL スケジュールされたデータベース バックアップ操作の例

この記事では、MySQL のスケジュールされたデータベース バックアップ操作の例について説明します。...