ホームページ  >  記事  >  データベース  >  MySQLストアドプロシージャのパラメータの使い方と説明をまとめます。

MySQLストアドプロシージャのパラメータの使い方と説明をまとめます。

WBOY
WBOY転載
2022-08-18 17:53:232155ブラウズ

この記事は、mysql に関する関連知識を提供します。主に、MySQL ストアド プロシージャのパラメータの使用法と説明を紹介します。MySQL ストアド プロシージャのパラメータには、IN、OUT、INOUT の 3 種類があります。一緒に見てください。皆さんのお役に立てれば幸いです。

MySQLストアドプロシージャのパラメータの使い方と説明をまとめます。

推奨学習: mysql ビデオ チュートリアル

MySQL ストアド プロシージャのパラメータ

MySQL には合計パラメータがありますストアド プロシージャ 3 つのタイプ:

  • #IN
  • OUT
  • INOUT
入力パラメータ

  • 入力パラメータ (IN): ストアド プロシージャを呼び出すときにストアド プロシージャにデータを渡すパラメータ (呼び出されるストアド プロシージャには、実際の値 (変数またはリテラル値)
詳細注: 次のストアド プロシージャを作成するとエラーが報告されます。その

型と型の長さ は、# の型と型の長さを必要として作成します。 ## テーブル フィールドの一貫性 #

-- 创建一个存储过程:添加一个员工信息
DELIMITER $$
CREATE PROCEDURE procedure_test4(IN `p_name` VARCHAR,IN `p_call` VARCHAR)
BEGIN
  INSERT INTO employees(`name`,`call`)
  VALUES(`p_name`,`p_call`);
END $$

#正しい記述

-- 创建一个存储过程:添加一个员工信息
DELIMITER $$
CREATE PROCEDURE procedure_test4(IN `p_name` VARCHAR(64),IN `p_call` VARCHAR(64))
BEGIN
  INSERT INTO employees(`name`,`call`)
  VALUES(`p_name`,`p_call`);
END $$

MySQLストアドプロシージャのパラメータの使い方と説明をまとめます。

## 次に、ストアド プロシージャを呼び出してデータを追加できるかどうかをテストしましょう

MySQLストアドプロシージャのパラメータの使い方と説明をまとめます。

最初にテーブルの元のデータを確認します

ストレージ プロセスを呼び出します

##

CALL procedure_test4('李四','321321')
MySQLストアドプロシージャのパラメータの使い方と説明をまとめます。

##結果を見てみましょう

MySQLストアドプロシージャのパラメータの使い方と説明をまとめます。

##出力パラメーター

出力パラメーター (OUT):

ストアド プロシージャで生成されたデータを呼び出し元に返します。これは、Java の戻り値と同等です。メソッドと異なりますが、ストアド プロシージャが複数の出力を持つことができる点が異なります。 パラメータMySQLストアドプロシージャのパラメータの使い方と説明をまとめます。

例:
  • -- 创建一个存储过程:根据id查询出该员工姓名
    DELIMITER $$
    CREATE PROCEDURE procedure_test5(IN `p_id` INT(64),OUT `p_name` VARCHAR(64))
    BEGIN
      SELECT `name` INTO `p_name` FROM employees WHERE id=`p_id`;
    END $$
Creation はOK、これを呼び出してテストしましょう

SET @e_name=''
CALL procedure_test5('2',@e_name)
SELECT @e_name FROM DUAL

入力パラメータと出力パラメータ (INOUT)

-- INOUT(输入输出参数)
DELIMITER $$
CREATE PROCEDURE procedure_test6(INOUT str VARCHAR(64))
BEGIN
  -- 把你传进来的值作为条件,查询出的结果再重新赋值给 str 返回出去
  -- 这里的 str 既当输入参数,也当输出参数
  SELECT `name` INTO str FROM employees WHERE id=str;
END $$

問題なく作成できます。テストしてみましょう

SET @e_name='2'
CALL procedure_test6(@e_name)
SELECT @e_name FROM DUAL

は問題ありませんが、コードの可読性が低下するため、実際の開発では INOUT の使用は控えめにすることをお勧めします。 # 推奨学習:

mysql ビデオ チュートリアル

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

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。