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 でのインストール中にソフトウェア パッケージの依存関係レポートに関連する問題の解決策
Linux システムには 2 種類のスケジュールされたタスクがあります。1 つは 1 回だけ実行され...
序文最近、X 省のコールド チェーン トレーサビリティ システムの開発で忙しくしています。毎日午後 ...
Confluence は有料ですが、クラックして使用できます (購入が推奨され、正規版がサポートされ...
序文私たちの日常の開発プロセスでは、ソートが頻繁に使用され、そのような要求がある場合もあります。たと...
序文場合によっては、次の図のような浮動効果の要件が必要になります。 成し遂げる標準的な通常の状況では...
この記事では、二次リンクを実現するためのReactの具体的なコードを参考までに共有します。具体的な内...
目次基本的な手順と使用方法行コンポーネントの分析レンダリング機能ソースコード分析Col成分の分析コン...
1. mysql tar ファイルをダウンロードします。参考: 2. インストールパッケージがあるデ...
序文このブログ記事が公開された後、何人かの友人からSQL Serverバージョンがあるかどうか尋ねら...
ウェブページの自動更新: <head></head> の間に次のコードを追加...
序文この記事を始める前に、複数選択の質問をしてみましょう。フロントエンド開発でビルド ツールを使用す...
1. テキストの書式設定: この例では、HTML ファイル内のテキストを書式設定する方法を示します...
序文以前、Docker の 2375 Remote API を有効にしていました。会社のセキュリティ...
ドキュメント モードには次の 2 つの機能があります。 1. HTML文書を解析するためにどのHTM...
目次導入効果原理形状練習するこの記事では、例を使用して、MySQL マスター/スレーブ レプリケーシ...