プロシージャ sp_name を削除します// これまで、MYSQL 構文の基礎知識について説明してきました。この記事では、次の例を使用して、実際のコードを通じて読者に基本的な構文知識を説明します。 通常、MYSQL は入力を確定してステートメントを実行するために ; で終わりますが、ストアド プロシージャでは ; は終了を示さないため、このコマンドを使用して ; 記号を // に変更し、入力を確定して実行することができます。ストアド プロシージャはプログラミング言語のようなもので、データ型、フロー制御、入出力、独自の関数ライブラリも含まれます。 1. ストアドプロシージャを作成する 1. 基本的な構文: プロシージャ sp_name() を作成します。 始める ......... 終わり 2. パラメータの受け渡し 2. ストアドプロシージャの呼び出し 1. 基本的な構文: sp_name() を呼び出す 注意: ストアド プロシージャにパラメータがない場合でも、ストアド プロシージャ名の後に括弧を追加する必要があります。 3. ストアドプロシージャを削除する 1. 基本的な構文: 2. 注記 1. ブロック定義、一般的に使用される 始める ...... 終わり; 次のようなブロックのエイリアスを付けることもできます。 ラベル:開始 ........... 終了ラベル; ブロックから抜け出してブロックの後のコードを実行するには、leave label; を使用します。 条件が 3. ループ文 [ラベル:] WHILE式DO (2)ループ 1.手順のステータスを表示する 「pr_add」は単純な MySQL ストアド プロシージャです。この MySQL ストアド プロシージャには、2 つの int 型入力パラメータ「a」と「b」があり、これら 2 つのパラメータの合計を返します。 区切り文字 // -- 区切り文字を変更する drop procedure if exists pr_add// -- このストアドプロシージャが以前に作成された場合は削除します 2つの数値の合計を計算する プロシージャpr_add(a int, b int)を作成します。 始める c int を宣言します。 aがnullの場合 a = 0 に設定します。 終了の場合; bがnullの場合 b = 0 に設定します。 終了の場合; c = a + b と設定します。 合計として c を選択します。 終わり // 2. MySQLストアドプロシージャの呼び出し pr_add(10, 20) を呼び出します。 @a = 10 に設定します。 MySQL ストアド プロシージャを作成するための簡単な構文は次のとおりです。 プロシージャストアドプロシージャ名() を作成する 1. パラメータがない場合でも、MySQL ストアド プロシージャ名の後の「()」は必須です。 2. MySQL ストアド プロシージャ パラメータの場合、「@a int」のようにパラメータ名の前に「@」を追加することはできません。ストアド プロシージャを作成するための次の構文は、MySQL では正しくありません (SQL Server では正しいです)。 MySQL ストアド プロシージャの変数名の前には「@」を付ける必要はありませんが、MySQL クライアント ユーザー変数の前には「@」を付ける必要があります。 プロシージャpr_addを作成する 4. MySQL ストアド プロシージャでは、プロシージャ本体の前に「as」を追加する必要はありません。 SQL Server ストアド プロシージャには "as" キーワードが必要です。 プロシージャpr_addを作成する ( 整数、 b 整数 ) as -- 間違い。MySQL では「as」は必要ありません。 始める mysql ステートメント ...; 終わり; 5. MySQL ストアド プロシージャに複数の MySQL ステートメントが含まれている場合は、begin キーワードと end キーワードが必要です。 プロシージャpr_addを作成する ( 整数、 b 整数 ) 始める mysql ステートメント 1 ...; mysql ステートメント 2 ...; 終わり; 6. MySQLストアドプロシージャの各ステートメントの末尾にセミコロン「;」を追加します。 ... c int を宣言します。 aがnullの場合 a = 0 に設定します。 終了の場合; ... 終わり; 7. MySQL ストアド プロシージャ内のコメント。 declaration c int; -- これは 1 行の MySQL コメントです (-- の後に少なくとも 1 つのスペースが必要であることに注意してください) c = a + b と設定します。 pr_no_param() を呼び出します。 上記の知識ポイントを深めるために例を使ってみましょう。 1. ストアド プロシージャの定義プロセスは次のとおりです。 プロシージャ proc_name を作成します (パラメータ整数) 始める 変数varchar(20)を宣言します。 パラメータ=1の場合、変数='MySQL'を設定します。 それ以外の場合は、変数を 'PHP' に設定します。 終わり もし; tb (名前) 値 (変数) に挿入します。 終わり; MySQL でのストアド プロシージャの作成は、キーワード create procedure で始まり、その後にストアド プロシージャの名前とパラメータが続きます。 MySQL ストアド プロシージャ名では大文字と小文字は区別されません。たとえば、PROCE1() と proce1() は同じストアド プロシージャ名を表します。ストアド プロシージャの名前は、MySQL データベースの組み込み関数と同じにすることはできません。 ストアド プロシージャのパラメーターは通常、3 つの部分で構成されます。最初の部分は in、out、または inout になります。 in はパラメータをストアド プロシージャに渡すことを意味し、out はパラメータを外部に渡すことを意味します。inout は、定義されたパラメータをストアド プロシージャに渡すことができ、ストアド プロシージャから渡される前にストアド プロシージャによって変更できることを意味します。ストアド プロシージャはデフォルトでパラメータを渡すため、パラメータ in は省略できます。 2 番目の部分はパラメータ名です。 3 番目の部分はパラメータ タイプで、MySQL データベースで使用可能なすべてのフィールド タイプです。パラメータが複数ある場合は、パラメータをコンマで区切ることができます。 MySQL ストアド プロシージャのステートメント ブロックは begin で始まり、end で終わります。ステートメント本体には、変数宣言、制御ステートメント、SQL クエリ ステートメントなどを含めることができます。ストアド プロシージャ内のステートメントはセミコロンで終了する必要があるため、ストアド プロシージャを定義する前に、ステートメント終了マーク「;」を他の文字に変更する必要があります。また、この文字がストアド プロシージャ内に表示される可能性も低くする必要があります。キーワード delimiter を使用して変更できます。例えば: mysql>区切り文字 // ストアド プロシージャを作成した後、次のステートメントを使用して削除できます。ここで、パラメーター proc_name はストアド プロシージャの名前を参照します。 プロシージャ proc_name を削除します 実装プロセス (1)MySQLストアドプロシージャは「コマンドプロンプト」で作成されるため、まず「コマンドプロンプト」ウィンドウを開く必要があります。 mysql –u ユーザー名 –p ユーザーパスワード (3)文末記号を変更します。この例では文末記号を「//」に変更します。コードは次のとおりです。 区切り文字 // (4)ストアドプロシージャを作成する前に、まずデータベースを選択する必要があります。コードは次のとおりです。 データベース名を使用する (5)ストアドプロシージャを作成する。 類推で学ぶ 使用テスト; テーブルユーザーを作成( id mediumint(8) unsigned not null auto_increment, 名前 char(15) nullでないデフォルト ”, char(32)を渡す null デフォルトではない ”, メモテキストがnullではありません。 主キー (ID) )エンジン=Innodb 文字セット=utf8; 例1 区切り文字 // プロシージャ proc_name を作成します (パラメータ整数内) 始める パラメータ=0の場合 ユーザーから * を選択し、ID の昇順で並べ替えます。 それ以外 select * from user order by id desc; 終了の場合; 終わり; // 区切り文字 ; 警告を表示します。 proc_name(1)を呼び出す。 proc_name(0)を呼び出します。 例2 プロシージャ proc_name を削除します。 区切り文字 // プロシージャ proc_name を作成します (パラメータ整数) 始める 変数varchar(20)を宣言します。 パラメータ=1の場合 変数を 'Windows' に設定します。 それ以外 変数を 'Linux' に設定します。 終了の場合; パラメータを選択します。 終わり; // 区切り文字 ; 警告を表示します。 proc_name(1)を呼び出す。 proc_name(0)を呼び出します。 drop procedure proc_name を削除します。 注: 1.手順のステータスを表示します。 上記が、基本的な MYSQL 構文に関するこの記事の内容のすべてです。良いと思ったら、友達と共有してください。 以下もご興味があるかもしれません:
|
<<: Linux の fsevents モジュールによって発生する npm ls エラーの解決方法の詳細な説明
>>: Vue での親子コンポーネント通信と、sync を使用して親子コンポーネント データを同期する
MySQL 5.7.8 以降では、JSON テキストでデータを効率的に取得できるネイティブ JSON...
質問はhttps://www.zhihu.com/question/440066129/answer...
1. プロキシサーバーとは何ですか?プロキシ サーバーは、クライアントが要求を送信すると、それを直接...
1. MYSQLインストールディレクトリ次のようにコードをコピーします。 select @@bas...
以前、カスタム関数を使用して MySQL でツリー構造を再帰的にクエリする方法についての記事を書きま...
CSS3 を使用して、クールなレーダースキャン画像を実現します。 コード上で直接: // インデック...
まず、効果図の下にコードを添付します <!DOCTYPE html> <html&...
この記事では、docker 経由で Jenkins+Maven+SVN+Tomcat をデプロイし、...
1. 背景プロジェクトの業務が進むにつれて、データベース テーブルの数がどんどん大きくなり、ハードデ...
序文この記事では、Vue コンポーネントがどのように解析され、レンダリングされるかを説明します。 V...
目次序文: 1. vue-cliでプロジェクトを作成する2. ルーターをインストールする3. ディレ...
MySQL レプリケーション テーブルの詳細な説明テーブル構造、インデックス、デフォルト値などを含む...
今日、私は <a href="#13"></a> につい...
目次リスナー1.ウォッチエフェクト2.見る1.1 聴くための最初の方法1.2 聞く2つ目の方法1.3...
JSON (JavaScript Object Notation、JS Object Notatio...