ホームページ データベース mysql チュートリアル MySQLストアドプロシージャの削除操作の詳細説明とパラメータの使用例

MySQLストアドプロシージャの削除操作の詳細説明とパラメータの使用例

May 18, 2017 am 11:01 AM

ストアド プロシージャを削除する

ストアド プロシージャが作成されると、削除されるまで使用できるようにサーバー上に保存されます。 delete コマンド (第 21 章で紹介したステートメントと同様) は、サーバーからストアド プロシージャを削除します。 新しく作成されたストアド プロシージャを削除するには、次のステートメントを使用できます:

入力:

drop procedure productpricing;
ログイン後にコピー

分析: このステートメントは、新しく作成されたストアド プロシージャを削除します。次の () は使用されず、ストアド プロシージャ名のみが指定されることに注意してください。

DROP ONLY IF EXISTS DROP PROCEDURE は、指定されたプロシージャが存在しない場合にエラーを生成します。プロシージャが存在し、それを削除したい場合は、DROP PROCEDURE IF EXISTS を使用します (プロシージャが存在しない場合はエラーは生成されません)。


パラメータの使用

productpricing は、単に SELECT ステートメントの結果を表示する単純なストアド プロシージャです。通常、ストアド プロシージャは結果を表示しませんが、指定した変数に結果を返します。

変数 データを一時的に保存するために使用されるメモリ内の特定の場所。以下は、productpricing の修正バージョンです (最初にこのストアド プロシージャを削除しないと、再度作成することはできません):

入力:

create procedure productpricing(
out pl decimal(8,2),
out ph decimal(8,2),
out pa decimal(8,2)
)
begin
select min(prod_price) into pl from products;
select max(prod_price) into ph from products;
select avg(prod_price) into pa from products;
end;
ログイン後にコピー

分析: このストアド プロシージャは 3 つのパラメータを受け入れます: pl は製品の最低価格を格納し、ph は製品の最低価格を格納します製品の最高価格、pa には製品の平均価格が格納されます。各引数は指定された型を持つ必要があります。ここでは 10 進数値が使用されます。キーワード OUT は、ストアド プロシージャから値を渡す (呼び出し元に返される) ために、対応するパラメーターが使用されることを示します。 MySQL は、IN (ストアド プロシージャに渡される)、OUT (ここで使用されているようにストアド プロシージャから渡される)、および INOUT (ストアド プロシージャに出入りする) タイプのパラメータをサポートします。ストアド プロシージャのコードは、BEGIN ステートメントと END ステートメント内にあります。これらは、前に見たように、値を取得し、(INTO キーワードを指定して) 適切な変数に保存する一連の SELECT ステートメントです。

パラメータのデータ型 ストアド プロシージャのパラメータに許可されるデータ型は、テーブルで使用されるデータ型と同じです。付録 D にこれらのタイプをリストします。

レコードセットは許可されたタイプではないため、1 つのパラメーターを介して複数の行と列を返すことはできないことに注意してください。前の例で 3 つのパラメーター (および 3 つの SELECT ステートメント) を使用しているのはこのためです。この変更されたストアド プロシージャを呼び出すには、次のように 3 つの変数名を指定する必要があります:

入力:

call productpricing(@price low,
@pricehigh,
@priceaverage);
ログイン後にコピー

分析: このストアド プロシージャには 3 つのパラメータが必要であるため、正確に 3 つのパラメータを渡す必要があります。したがって、この CALL ステートメントには 3 つのパラメータが与えられます。これらは、ストアド プロシージャが結果を保持する 3 つの変数の名前です。

変数名 すべての MySQL 変数は @ で始まる必要があります。

このステートメントを呼び出すと、データは表示されません。後で表示できる (または他の処理で使用できる) 変数を返します。 取得した製品の平均価格を表示するには、次の手順を実行できます:

入力:

select @priceaverage;
ログイン後にコピー

出力:

MySQLストアドプロシージャの削除操作の詳細説明とパラメータの使用例

3 つの値を取得するには、次のステートメントを使用できます:

入力:

select @pricehigh,@pricrlow,@priceaverage;
ログイン後にコピー

出力:

MySQLストアドプロシージャの削除操作の詳細説明とパラメータの使用例

ここに別の例を示します。今回は IN パラメーターと OUT パラメーターを使用します。 ordertotal は注文

番号を受け入れ、注文の合計を返します:

入力:

create procedure ordertotal(
in onumber int,
out ototal decimal(8,2)
)
begin
select sum(item_price*quantity) from orderitems where order_num = onumber into ototal;
end;
ログイン後にコピー

分析: 注文番号がストアド プロシージャに渡されるため、onumber は IN として定義されます。合計はストアド プロシージャから返されるため、ototal は OUT として定義されます。 SELECT ステートメントはこれら 2 つのパラメーターを使用し、WHERE 句は onumber を使用して正しい行を選択し、INTO は ototal を使用して計算された合計を保存します。

この新しいストアド プロシージャを呼び出すには、次のステートメントを使用できます:

入力:

call ordertotal(20005,@total);
ログイン後にコピー

分析: 2 つのパラメーターを ordertotal に渡す必要があります。最初のパラメーターは注文番号で、2 番目のパラメーターには計算された合計変数が含まれます。名前。 この合計を表示するには、次の手順を実行します:

入力:

select @total;
ログイン後にコピー

出力:

MySQLストアドプロシージャの削除操作の詳細説明とパラメータの使用例

分析: @total は ordertotal の CALL ステートメントによって入力され、SELECT はそれに含まれる値を表示します。 別の注文の合計表示を取得するには、ストアド プロシージャを再度呼び出して、変数を再表示する必要があります:

Input:

call ordertotal(20009,@total);
select @total;
ログイン後にコピー

以上がMySQLストアドプロシージャの削除操作の詳細説明とパラメータの使用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MySQL:初心者向けのデータ管理の容易さ MySQL:初心者向けのデータ管理の容易さ Apr 09, 2025 am 12:07 AM

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

MySQL:簡単な学習のためのシンプルな概念 MySQL:簡単な学習のためのシンプルな概念 Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

phpmyadminを開く方法 phpmyadminを開く方法 Apr 10, 2025 pm 10:51 PM

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

Navicatプレミアムの作成方法 Navicatプレミアムの作成方法 Apr 09, 2025 am 07:09 AM

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLおよびSQL:開発者にとって不可欠なスキル MySQLおよびSQL:開発者にとって不可欠なスキル Apr 10, 2025 am 09:30 AM

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

NavicatでMySQLへの新しい接続を作成する方法 NavicatでMySQLへの新しい接続を作成する方法 Apr 09, 2025 am 07:21 AM

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

SQLが行を削除した後にデータを回復する方法 SQLが行を削除した後にデータを回復する方法 Apr 09, 2025 pm 12:21 PM

データベースから直接削除された行を直接回復することは、バックアップまたはトランザクションロールバックメカニズムがない限り、通常不可能です。キーポイント:トランザクションロールバック:トランザクションがデータの回復にコミットする前にロールバックを実行します。バックアップ:データベースの定期的なバックアップを使用して、データをすばやく復元できます。データベーススナップショット:データベースの読み取り専用コピーを作成し、データが誤って削除された後にデータを復元できます。削除ステートメントを使用して注意してください:誤って削除されないように条件を慎重に確認してください。 WHERE句を使用します:削除するデータを明示的に指定します。テスト環境を使用:削除操作を実行する前にテストします。

単一のスレッドレディスの使用方法 単一のスレッドレディスの使用方法 Apr 10, 2025 pm 07:12 PM

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

See all articles