MySQL 変数宣言とストアド プロシージャの分析

MySQL 変数宣言とストアド プロシージャの分析

変数の宣言

グローバル変数の設定

@a='新しい変数' を設定します。

関数やストアドプロシージャで使用される変数を宣言する

int unsigned default 1 をクリアします。

このタイプの変数は設定する必要があり、begin..end セクション内にのみ存在します。

select .. into.. はテーブルの内容を指定された変数に直接割り当てます

銀行制限 1 から名前を選択し、@a、@b に入札します。

注意すべき点は、変数名をフィールド名と同じにすることはできないということです。

ストアドプロシージャ

ストアド プロシージャは、共通の操作をカプセル化して、さまざまなプラットフォームで使用できるようにします。

ストアド プロシージャには戻り値がなく、SQL ステートメントで呼び出すことはできません。呼び出しによってのみ呼び出すことができ、結果セットは返されません。実行時に実行されます。

ストアド プロシージャで SQL ステートメントを実行するときは、システムのデフォルトのターミネータを別のものにリセットする必要があることに注意してください。そうしないと、システムは誤ってプログラムが終了したと認識し、書き込みプロセスの途中でエラーを報告します。

終了コマンド文字を$に変更します

区切り文字$+Enter または省略形 \d $+Enter

すべてのストアドプロシージャを表示

手順のステータスを表示します。

指定されたストアドプロシージャを削除します

プロシージャのプロシージャ名を削除します。

ストアドプロシージャのデモ'

\d $ 1 プロシージャ yanshi(in arg tinyint) を作成します
始める
age tinyint のデフォルトを 0 と宣言します。
age=arg を設定します。
年齢<20の場合
「20未満の数」を選択します。
それ以外の場合、年齢>20
「20より大きい数値」を選択します。
終了の場合;
終わり
$
//呼び出し手順セット@num=12$
yanshi(@num)$ を呼び出す
ヤンシ(21)$に電話する

ストアドプロシージャに入力された数値がどのステージに属するかを判断する

ストアドプロシージャには、in、out、inoutの3種類のパラメータ渡しがあります。

外部から渡された変数を、渡された変数の元の値を変更せずに出力することができます。

プロシージャ a(in id int) を作成します。
始める
  IDを選択;
  idを100に設定します。
終わり
$
@id=1$ を設定
call a(@id)$ //出力1、これは外部から渡された@idの値です。 select $id$ //出力1、これは渡された値が保存プロセス中に変更されていないことを示します。

outは外部から渡された値を出力できず、渡された変数の元の値を変更します。

プロシージャ b(out id int) を作成します。
始める
  IDを選択;
  idを100に設定します。
終わり
$
@id=1$ を設定
b(@id)$ を呼び出す // null を入力する
@id$ を選択 // 出力 100

inoutは渡された変数を出力することも、渡された変数を変更することもできる。

次はコンピュータのハードウェアパフォーマンスをチェックしてみましょう

その年の銀行テーブルを覚えていますか? 彼はそれを保存し、次のコマンドを実行しました。

プロシージャ addbank() を作成する
始める
  i int をデフォルトで 0 と宣言します。
  i = 5000000 に設定します。
  i > 0 の場合
  銀行(名前)の値(i)に挿入します。
  i = i - 1 と設定します。
  終了しながら;
終わり
$
addbank() を呼び出す$

幸運を

要約する

以上がMySQLの変数宣言とストアドプロシージャの分析に関するこの記事の内容です。皆様のお役に立てれば幸いです。興味のある方は、いくつかの重要な MySQL 変数、MySQL の準備原則の詳細な説明、ORACLE SQL ステートメントの最適化手法の重要なポイントの分析などを参照してください。ご質問がある場合は、いつでもメッセージを残していただければ、編集者がすぐに返信いたします。 123WORDPRESS.COM をサポートしてくださっている皆様、ありがとうございます!

以下もご興味があるかもしれません:
  • MySQL 8.0.12 のインストールと環境変数の設定チュートリアル (Win10 の場合)
  • MySQLでグローバル変数とセッション変数を設定する2つの方法の詳細な説明
  • MySQL 5.6.23 のインストールと設定環境変数のチュートリアル
  • MySQL 8 の新機能: 永続的なグローバル変数を変更する方法
  • MySQLクエリステートメント内のユーザー変数のコード分析
  • いくつかの重要なMySQL変数
  • MySQLは変数を使用してさまざまなソートを実装します
  • MySQL ストアド プロシージャにおける変数の宣言と設定の違いについて簡単に説明します。
  • MySQL 変数の原理と応用例

<<:  CocosCreatorでリストを作成する方法

>>:  Linux での Python のアップグレードと pip のインストールの詳細な説明

推薦する

MySQL で結果を選択して更新を実行する例のチュートリアル

1. 単一テーブルクエリ -> 更新 テーブル名の更新 フィールド1=新しい値1、フィールド2...

MySQL データベースのパフォーマンス最適化の概要

目次なぜ最適化するのですか? ?どこから始めますか? ?解決策は何ですか? ? ?どうやって選ぶ? ...

OpenLayers 3 のベクターマップソースの読み込みの問題を解決する

1. ベクターマップベクター グラフィックスは直線と曲線を使用してグラフィックスを表します。これらの...

MySQLデータベースが予期せずクラッシュし、テーブルデータファイルが破損して起動できなくなる問題を解決します。

問題: MySQL データベースが予期せずクラッシュしたため、データベースを起動できませんでした。エ...

MySQL のクエリパフォーマンスに対する制限の影響

I. はじめにまず、MySQL のバージョンについて説明します。 mysql> バージョンを選...

コピー&ペーストはパッケージングの敵です

OO、デザイン パターン、および多くのオブジェクト指向の原則について話す前に、まず 1 つのことを習...

「fsck」を使用して Linux のファイルシステムエラーを修正する方法

序文ファイル システムは、データの保存方法と復元方法を整理する役割を担います。 いずれにせよ、時間の...

MySQL の group by と having の詳細な説明

GROUP BY 構文を使用すると、指定されたデータ列の各メンバーに従ってクエリ結果をグループ化して...

ウェブサイトの高速化における CDN、SCDN、DCDN の違いは何ですか?どうやって選ぶ?

1. CDNこれは、Web サイト上で最もよく使用される加速機能です。分散サーバー レイアウトによ...

ウェブフロントエンドコードを書く際の考慮事項のまとめ

1. HTMLタグの前に次のような文を追加するのが最適です。 <!DOCTYPE HTML P...

HTMLタグのtarget属性の使用法

1: <a> タグを使用してページにリンクする場合、target 属性の役割は誰もが知っ...

CSS グリッドレイアウトで列にアイテムを埋め込む方法

n 個のアイテムがあり、これらのアイテムをグリッド レイアウトの列に並べ替える必要があるとします。列...

JavaScript で Priority Queue を実装する

目次1. 優先キューの紹介2. 優先キューのカプセル化1. 優先キューの紹介通常のキューに要素が挿入...

Ubuntu環境でPHPとNginxをコンパイルしてインストールする方法

この記事では、Ubuntu 環境で PHP と Nginx をコンパイルしてインストールする方法につ...