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 でのインストール中にソフトウェア パッケージの依存関係レポートに関連する問題の解決策
記事「MySQL の最適化: キャッシュの最適化」では、システムによってコンパイルされた変数値、また...
目次1. 魔法の拡張演算子1. 配列をコピーする2. 配列を結合する3. オブジェクトを展開する2....
今日は、サイトの設定やウェブサイトのアップロードなど、FlashFXP の最も基本的な機能を紹介しま...
例: VMware IOInsight は、VM のストレージ I/O 動作を理解するのに役立つツー...
目次1. Typescriptの紹介2. 設定ファイル webpack 設定3. プロジェクトに.t...
FFMPEG 3.4.1 バージョンパラメータの詳細使用方法: ffmpeg [オプション] [[入...
目次要件:実装手順:この記事では主に以下について説明します: カスタムツリーコントロール<el...
需要: この需要は緊急に必要です!地下鉄のシーンでは、脱出経路を示す矢印を描かなければなりません。こ...
出典: http://www.ruoyi.vip/ 'vue' から Vue をイン...
目次Dockerイメージのダウンロードmysqlとnacosを起動する独自のJavaプロジェクトを変...
この記事では、MySQL 5.7.27 winx64のインストールと設定方法を参考までに紹介します。...
Nginxはバージョン情報を隠すだけでなく、カスタムWebサーバー情報もサポートします。まずは最終的...
目次序文実際の戦闘1. ロックなし2. 悲観的ロック3. 楽観的ロック要約する序文悲観的ロックと楽観...
DOMとは何ですか? JavaScript を使用すると、HTML ドキュメント全体を再構築できます...
いわゆるスライディングドアテクノロジーとは、さまざまな長さのテキストに合わせてボックスの背景を自動的...