MySQL で区切り文字付きストアド プロシージャを作成する

王林
リリース: 2023-09-09 17:57:08
転載
726 人が閲覧しました

MySQL で区切り文字付きストアド プロシージャを作成する

createprocedure コマンドを使用してストアド プロシージャを作成できます。構文は次のとおりです。 -

delimiter //
CREATE PROCEDURE yourStoreProcedureName()
BEGIN
   Declare variable here
   The query statement
END //

delimiter //
ログイン後にコピー

上記の構文を適用してストアド プロシージャを作成します。クエリは次のとおりです -

mysql> use test;
Database changed
mysql> delimiter //
mysql> create procedure Sp_callTableStoredProcTable()
   −> begin
   −> select *from StoredProcTable;
   −> end //
Query OK, 0 rows affected (0.54 sec)
ログイン後にコピー

ストアド プロシージャを呼び出すには、区切り文字を ; に変更する必要があります -

mysql> delimiter ;
ログイン後にコピー

CALL コマンドを使用してストアド プロシージャを呼び出すことができます。構文は次のとおりです -

CALL yourStoredProcedureName();
ログイン後にコピー

上記のストアド プロシージャは、以下のクエリに示すように CALL コマンドを使用して呼び出すことができます。 -

mysql> call Sp_callTableStoredProcTable();
ログイン後にコピー

以下は出力です。-

+-----------+------+
| FirstName | Age  |
+-----------+------+
| John      | 23   |
| Bob       | 24   |
| David     | 20   |
+-----------+------+
3 rows in set (0.03 sec)

Query OK, 0 rows affected (0.06 sec)
ログイン後にコピー

上記では、テーブル 'StoredProcTable'、このテーブルには 3 つのレコードがあります。すべてのレコードはストアド プロシージャを使用して表示されます。

ストアド プロシージャを使用してテーブル内のレコード数を確認できます -

mysql> delimiter //
mysql> create procedure CountingRecords()
   −> begin
   −> select count(*) as AllRecords from StoredProcTable;
   −> end //
Query OK, 0 rows affected (0.19 sec)

mysql> delimiter ;
ログイン後にコピー

CALL コマンドを使用してストアド プロシージャを呼び出します。クエリは次のとおりです。-

mysql> call CountingRecords();
ログイン後にコピー

次の出力が表示されます。 レコード数 -

+------------+
| AllRecords |
+------------+
|          3 |
+------------+
1 row in set (0.31 sec)

Query OK, 0 rows affected (0.33 sec)
ログイン後にコピー

以上がMySQL で区切り文字付きストアド プロシージャを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!