1. ストアドプロシージャに関連する概念ストアド プロシージャとは何ですか? ストアド プロシージャを使用する利点: ストアド プロシージャの意味: 2. ストアドプロシージャの使用1) ストアドプロシージャを作成するための構文プロシージャストアドプロシージャ名の作成 (パラメータリスト) 始める ストアド プロシージャ本体 (合法かつ有効な SQL ステートメントのセット) 終わり 2) 創造構文の理解①パラメータリスト:パラメータリストは3つの部分から構成されます パラメータモード パラメータ名 パラメータタイプ 例: in stuname varchar(20) ②パラメータモード分類 in: このパラメータは入力として使用できます。つまり、呼び出し元はこのパラメータの値を渡す必要があります。 out: このパラメータは出力として使用できます。つまり、このパラメータは戻り値として使用できます。 inout: このパラメータは入力と出力の両方として使用できます。つまり、パラメータは値を渡す必要があり、値を返すことができます。 ③ ストアドプロシージャ本体が1文のみで構成される場合は、begin/endは省略できます。 Ⅰ ストアド プロシージャ本体の各 SQL ステートメントの末尾にはセミコロンが必要です。 ④ ストアドプロシージャの呼び出し構文
3. 空のパラメータの保存手順「ストアド プロシージャの実行プロセス全体は、CMD ウィンドウで実行するのが最適です」 -- ストアドプロシージャ区切り文字 $ を作成する プロシージャ myp() を作成する 始める admin(ユーザー名、`パスワード`) に挿入します 値("トム"、"1111")、("ジェリー"、"2222")、 ("ジャレン","3333"),("ローズ","4444"),("トニー","5555"); 終了$ -- ストアドプロシージャ call myp()$ を呼び出します。 -- 結果を表示します。 admin$から*を選択 結果は次のとおりです。 4. in モードのストアド プロシージャ1) ケース: 部門番号に基づいて対応する部門名を照会するストアド プロシージャを作成します。 -- ストアドプロシージャ区切り文字 $ を作成する プロシージャ myp2(in num int) を作成します。 始める e.ename、d.dname を選択 emp eから e.deptno=d.deptno の dept d を左結合します ここで、e.deptno=num; 終了$ -- ストアドプロシージャ call myp2(10)$ を呼び出す 結果は次のとおりです。 2) ケース: ユーザーが正常にログインしたかどうかを確認するストアド プロシージャを作成します。 操作は以下のとおりです。 -- ストアドプロシージャ区切り文字 $ を作成する プロシージャ myp3 を作成します(ユーザー名 varchar(10)、パスワード varchar(10)) 始める 結果を int として宣言します。 count(*) を結果に選択します 管理者広告より ad.username=ユーザー名 および ad.password=password; select if(count(*) > 0,"ログイン成功","ログイン失敗") login status; 終了$ -- ストアド プロシージャを呼び出します。call myp3('john','8888'); 結果は次のとおりです。 5. 出力モードのストアドプロシージャ1) ケース1: 女神の名前に応じて対応する男性神の名前を返すストアドプロシージャを作成する -- ストアドプロシージャ区切り文字 $ を作成する プロシージャ myp4(in beautyName varchar(20),out boyName varchar(20)) を作成します。 始める b.boyName を boyName に選択します 美しさから左の男の子に加わるb beauty.boyfriend_id=b.id で ここで、beauty.name=beautyName; 終了$ -- 戻り値 boyName を受け取るために、変数 @boyname を #Redefine します。 myp4("Zhao Min",@boyname)$ を呼び出す @boyname$ を選択 myp4("刘岩",@boyname)$ を呼び出す @boyname$ を選択 結果は次のとおりです。 2) ケース2: 女神の名前に応じて対応する男性神の名前と男性神の魅力の値を返すストアドプロシージャを作成する -- ストアドプロシージャ区切り文字 $ を作成する プロシージャ myp5(in beautyName varchar(20), out boyName varchar(20), out userCP int) を作成します。 始める b.boyName、b.userCP を boyName、userCP に選択します。 美しさから左の男の子に加わるb beauty.boyfriend_id=b.id で ここで、beauty.name=beautyName; 終了$ -- 戻り値 boyName を受け取るために、変数 @boyname を #Redefine します。 myp5("赵敏",@boyname,@usercp)$ を呼び出す @boyname、@usercp$ を選択 myp5("刘岩",@boyname,@usercp)$ を呼び出す @boyname、@usercp$ を選択 結果は次のとおりです。 6. inout モードのストアド プロシージャ1) ケース 1: 2 つの値 a と b を渡し、最終的に a と b の両方が 2 倍になって返されます。 -- ストアドプロシージャ区切り文字 $ を作成する プロシージャ myp6(inout a int ,inout b int) を作成します。 始める -- ローカル変数は @ 記号で囲む必要はありません。 a=a*2 と設定します。 b=b*2 と設定します。 終了$ -- 呼び出し -- 呼び出し部分に特に注意してください。 @m=10$ に設定 @n=20$ に設定 myp6(@m,@n)$ を呼び出す @m,@n$ を選択 結果は次のとおりです。 7. ストアドプロシージャのケース分析1) ユーザー名とパスワードを渡し、管理テーブルに挿入するストアド プロシージャまたは関数を作成します。 2) 女神番号を渡し、女神の名前と女神の電話番号を返すストアド プロシージャまたは関数を作成します。 3) 2 人の女神の誕生日を渡し、そのサイズを返すストアド プロシージャまたは関数を作成します。 1) ユーザー名とパスワードを渡し、管理テーブルに挿入するストアド プロシージャまたは関数を作成します。 -- ストアドプロシージャ区切り文字 $ を作成する プロシージャ pro1 を作成します (ユーザー名 varchar(20)、userpwd varchar(20)) 始める admin(ユーザー名、`パスワード`) に挿入します 値(ユーザー名、ユーザーパスワード); 終了$ -- ストアド プロシージャ call pro1("Lu Zhishen","123abc")$ を呼び出します。 admin$から*を選択 結果は次のとおりです。 2) 女神番号を渡し、女神の名前と女神の電話番号を返すストアド プロシージャまたは関数を作成します。 -- ストアドプロシージャ区切り文字 $ を作成する プロシージャ pro2(in id int,out beautyName varchar(20),out beautyPhone varchar(20)) を作成します。 始める beauty.name、beauty.phone を beautyName、beautyPhone に選択します。 美しさから ここで beauty.id=id; 終了$ -- ストアド プロシージャ call pro2(2,@beautyname,@beautyphone)$ を呼び出します。 @beautyname、@beautyphone$ を選択 pro2(3,@beautyname,@beautyphone)$ に電話する @beautyname、@beautyphone$ を選択 結果は次のとおりです。 3) 2 人の女神の誕生日を渡し、そのサイズを返すストアド プロシージャまたは関数を作成します。 -- ストアドプロシージャ区切り文字 $ を作成する プロシージャ pro3(in borndate1 datetime,in borndate2 datetime,out result int) を作成します。 始める 結果に datediff(borndate1,borndate2) を選択します。 終了$ -- ストアド プロシージャを呼び出します call pro3("1993-8-12",now(),@result)$ @結果$を選択 結果は次のとおりです。 8. ストアドプロシージャの削除プロシージャのストアド プロシージャ名を削除します。 9. ストアドプロシージャの情報を表示する10.ストアドプロシージャケースの評価1) 女神の名前を渡し、女神 AND 男性の神という形式の文字列を返すストアドプロシージャまたは関数を作成します。 1) 女神の名前を渡し、女神 AND 神 の形式で文字列を返すストアド プロシージャまたは関数を作成します。 区切り文字 $ プロシージャ test1(beautyname varchar(20) 内) を作成します。 始める concat(beauty.name,"AND",boys.boyName) を選択します 美しさから左の男の子に参加 beauty.boyfriend_id=boys.id で ここで、beauty.name=beautyname; 終了$ test1("Liu Yan")$ を呼び出す test1("Zhao Min")$ を呼び出す 結果は次のとおりです。 2) 渡されたエントリ数と開始インデックスに基づいて、beauty テーブルのレコードを照会するストアド プロシージャまたは関数を作成します。 区切り文字 $ プロシージャ test2(開始インデックス int、長さ int) を作成します。 始める *を選択 美しさから 開始インデックス、長さを制限します。 終了$ -- 1ページあたり3件のレコードを表示 -- ページ2を表示 test2(3,3)$ を呼び出す -- ページ3を表示する test2(6,3)$ を呼び出す 結果は次のとおりです。 以上が、ストアドプロシージャを徹底的に理解するMySQLシリーズの詳しい内容です。MySQLストアドプロシージャについてさらに詳しく知りたい方は、123WORDPRESS.COMの関連記事もぜひご覧ください! 以下もご興味があるかもしれません:
|
>>: HTML CSS を使用して div またはテーブルを指定した位置に固定する方法
この記事では、宝くじマシンの効果を実現するためのJavaScriptの具体的なコードを参考までに共有...
目次1. 正規表現とは何か1. 正規表現の特徴2. 正規表現の使用2. 正規表現における特殊文字1....
リアルタイム レプリケーションは、企業データをバックアップする最も重要な方法です。主に、ユーザーが送...
MVCC MVCC (Multi-Version Concurrency Control) は、マル...
1. mysql5.6をインストールする docker 実行 mysql:5.6すべてのアイテムのダ...
目次序文Lua スクリプトnignx.conf の設定Dockerfileの設定序文データベースやそ...
目次1. スロットを使用してコンポーネントを理解しやすくし、より強力にする2. Vuexストアを正し...
序文これらの原則は実際の戦闘から要約されています。あらゆる原則の背後には血なまぐさい教訓があるこれら...
序文:フロントエンド: jq+h5 で 9 グリッドのダイナミック効果を実現バックエンド: thin...
目次1. proxy_pass を設定した後に Nginx が 404 を返す問題のトラブルシューテ...
この記事では、すべてのチェックボックスを選択または解除するためのJavaScriptの具体的なコード...
以下のように表示されます。リモート サーバーのファイルをローカルにコピーします。 scp -r -P...
説明: テキストエリアの値の改行を新しい行に変更しますコードをコピーコードは次のとおりです。 <...
Nginxをインストールするまずcentosイメージをプルしますdocker pull centos...
この記事では、CSS で 2 つの固定列と 1 つのアダプティブ列を実装するいくつかの方法を紹介し、...