1. ストアド関数を作成する構文形式: CREATE FUNCTION 関数名 (パラメータ名 パラメータタイプ、...) 戻り値 戻り値の型 BEGIN 関数本体#関数本体にはRETURN文ENDを含める必要があります 例: パラメータリスト: FUNCTIONは常に
RETURNS 句は FUNCTION に対してのみ指定でき、関数に対しては 関数本体では 関数本体にステートメントが 1 つだけ含まれている場合は、 2. ストアド関数の呼び出しMySQL では、ストアド関数の使用方法は MySQL 内部関数と同じです。つまり、ユーザー定義のストアド関数は、MySQL 内部関数と同じ性質を持ちます。違いは、ストアド関数は SELECT関数名(引数リスト) 3. 保存された関数を削除する文法構造: DROP FUNCTION [IF EXISTS] ストアドファンクション名 4. ストアドプロシージャを表示する1. SHOW CREATEステートメントを使用して、ストアドプロシージャと関数の作成情報を表示します。 文法構造: SHOW CREATE FUNCTION ストアドファンクション名 2. SHOW STATUSステートメントを使用して、ストアドファンクションのステータス情報を表示します。 文法構造: 関数ステータスを表示 [LIKE 'pattern'] このステートメントは、データベース、名前、タイプ、作成者、作成日、変更日などのサブルーチンの特性を返します。 例: #名前がselectmysql>で始まるストアド関数をクエリする SHOW FUNCTION STATUS LIKE 'SELECT%'; ************************** 1. 行 **************************** データベース: test_db 名前: SelectAllData タイプ: FUNCTION 定義者: root@localhost 更新日: 2021-10-16 15:55:07 作成日: 2021-10-16 15:55:07 セキュリティタイプ: DEFINER コメント: 文字セットクライアント: utf8mb4 照合接続: utf8mb4_general_ci データベース照合: utf8mb4_general_ci 3. information_schema.Routinesテーブルからストアドファンクションの情報を表示する MySQL のストアド関数の情報は、information_schema データベースの Routines テーブルに保存されます。このテーブルのレコードを照会することで、ストアド関数の情報を照会できます。 文法構造: SELECT * FROM information_schema.Routines WHERE ROUTINE_NAME = 'ストアド関数名' [AND ROUTINE_TYPE = 'FUNCTION ']; 注: MySQL データベースに 5. ストレージ機能を変更するストレージ関数を変更しても関数の機能には影響せず、関連する機能のみが変更されます。これは ALTER ステートメントを使用して行われます。 ALTER FUNCTION ストアド関数名; 6. ストアド関数とストアドプロシージャの比較
さらに、ストアド関数はクエリ ステートメントで使用できますが、ストアド プロシージャは使用できません。逆に、ストアド プロシージャはより強力で、ストアド関数では利用できないテーブル操作 (テーブルの作成、テーブルの削除など) やトランザクション操作を実行する機能があります。 7. エクササイズを強化する#前提条件 CREATE TABLE employees として atguigudb.`employees` から * を選択します。 テーブルの作成 部門 AS atguigudb.`departments` から * を選択します。 #1. 会社の従業員数を返す関数 get_count() を作成します。# パラメーターと戻り値 SET GLOBAL log_bin_trust_function_creators = 1; 区切り文字 $ 関数 get_count() を作成する 戻り値 INT 始める RETURN (SELECT COUNT(*) FROM employees); 終了 $ 区切り文字 ; 知らせ: ストアド #2. 従業員の ID に応じて給与を返す関数 ename_salary() を作成します。# テーブル構造をクエリして、返されるデータのタイプを確認します。DESC employees; 区切り文字 $ 関数 ename_salary(id INT) を作成します。 DOUBLE(8,2)を返します 始める 戻り値 (SELECT salary FROM employees WHERE employee_id = id); 終了 $ 区切り文字 ; #クエリ結果 SELECT ename_salary(100);
MySQL ストアドファンクションの詳細な紹介に関するこの記事はこれで終わりです。より関連性の高い MySQL ストアドファンクションのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linux でのインストール中にソフトウェア パッケージの依存関係レポートに関連する問題の解決策
この細線の表を作成する方法については、Baidu で検索すると、表に対して border="...
目次1. 短絡判定2. オプション連鎖演算子 (?) 3. ヌル合体演算子 (??) 4. 終了関数...
目次前面に書かれた要件分析 v1アイデア1: インターセプションメソッドを使用して入力ボックスの入力...
この記事では、Jingdongの詳細ページの画像の拡大を実現するためのjsの具体的なコードを紹介しま...
この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...
yum を使用してすべての依存関係を一緒にインストールできますが、–downloadonly –d...
Dockerイメージ内のファイルを表示する方法1. すでに実行中の場合すでに実行中のイメージについて...
目的カルーセルコンポーネントをカプセル化して直接使用します。具体的な内容は以下のとおりです。一般的な...
予備的注釈1.Vue2.xとVue3.xの違い: Vue 3.x にはヘルパー関数はありません。 V...
ミックスインは、コンポーネントに分散された再利用可能な機能を柔軟な方法で提供します。 Mixin オ...
目次1. イベント委任とは何ですか? 2. イベント委任の原則3. イベント委託の役割1. イベント...
目次Vuex環境を構築する要約するVuex環境を構築するsrcディレクトリにフォルダstoreを作成...
この記事の例では、文字の出現回数をカウントするJavaScriptの具体的なコードを参考までに共有し...
スタイル ガイドとは何でしょうか? 簡単に言えば、ストーリーを伝える方法を説明するドキュメントです。...
位置 / { インデックス index.jsp; proxy_next_upstream http...