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

推薦する

VMware 12 での Ubuntu 16.04 インストール チュートリアル

この記事では、VMware 12でのUbuntu 16.04のインストールチュートリアルを参考までに...

vue.js パッケージ化プロジェクトの後の空白ページの解決策

Vueに触れたばかりのパートナーの多くは、開発環境ではVueプロジェクトは正常であるが、パッケージ化...

ウェブページ作成時に標準 HTML コードを使用する際のポイント

<br />多くのウェブサイト デザイナーが犯す最も一般的な間違いは、ウェブページが I...

画像を読み込むための JavaScript キャンバス

この記事では、画像を読み込むためのJavaScriptキャンバスの具体的なコードを参考までに紹介しま...

JavaScript でシンプルなタイマーを実装する

この記事では、参考までに簡単なタイマーを実装するためのJavaScriptの具体的なコードを紹介しま...

JSは検証コードのランダム生成を実装します

この記事の例では、検証コードのランダム生成を実現するためのJSの具体的なコードを参考までに共有してい...

WeChat 8.0の爆発的な特殊効果を実現するために300行以上のCSSコードが必要

WeChat 8.0 アップデートの主な特徴は、アニメーション絵文字のサポートです。送信するメッセー...

MySQL のインデックスと制約の例文

外部キーテーブルの主キーがどのテーブルの外部キーであるかを照会する 選択 テーブル名、 列名、 制約...

HTTP ステータス コード

このステータス コードは、リクエストのステータスに関する情報を提供し、サイトとリクエストされたページ...

Linux の高性能ネットワーク IO と Reactor モデルの分析

目次1. 基本概念の紹介2. ネットワークIOの読み取りと書き込みのプロセス3. 5つのLinuxネ...

VMware 仮想化 KVM のインストールと展開のチュートリアルの概要

仮想化1. 環境セントオス7.3 selinuxとファイアウォールを無効にする2. 仮想化環境の構成...

Alibaba Cloud で静的ウェブサイトを素早く構築する方法

序文:ジュニアプログラマーとして、私は自分自身の個人ウェブサイトを構築し、それを他の人に見せることを...

FirefoxでCookieとお気に入りをインポートおよびエクスポートする方法

Firefox は、多くの拡張機能とプラグインを備えた、よく使用されるブラウザです。IE に比べて多...

CSS でフロートとマージンを混合するサンプルコード

最近の勉強で、GitHub でレイアウトの練習をいくつか見つけたのですが、レイアウトにまったく慣れて...

Weibo の一括フォロー解除機能を実装する JavaScript コード

Weibo ユーザーのフォローを一括で解除するクールな JavaScript コードWeibo には...