MySQLで複数のパラメータを使用する方法*準備済み*ストアドプロシージャ

AndrewD

MySQLストアドプロシージャで使用されている複数のパラメータの良い例がいくつかありますが、準備されているストアドプロシージャでそれらを使用する方法を示す簡単な例を見つけることができませんでした

以下のコードは'Incorrect arguments to EXECUTE'、次を使用して呼び出すと戻ります。 `call test_parms( 'my report'、 'example.com');

パラメータ名の前に「@」を付けて、または付けずに(不明な列エラーを表示するだけです)、コードのさまざまなバリエーションを試しました。私は何が間違っているのですか?

DELIMITER $$

DROP PROCEDURE IF EXISTS `test_parms`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `test_parms`(REPORT VARCHAR(255),DOMAIN_NAME VARCHAR(255))
BEGIN

SET @sql = "Select @DOMAIN_NAME,@REPORT";

set @REPORT=REPORT;
set @DOMAIN_NAME=DOMAIN_NAME;

PREPARE stmt FROM @sql;
EXECUTE stmt using @DOMAIN_NAME,@REPORT;
DEALLOCATE PREPARE stmt;

END$$

DELIMITER ;
リトルボーイ

ドキュメントの次のセクションが役立ちます:13.5.1。PREPARE構文

DELIMITER $$

DROP PROCEDURE IF EXISTS `test_parms`$$

CREATE PROCEDURE `test_parms`(`REPORT` VARCHAR(255), `DOMAIN_NAME` VARCHAR(255))
BEGIN
    SET @`sql` := 'SELECT ? `DOMAIN_NAME`, ? `REPORT`';
    SET @`REPORT` := `REPORT`;
    SET @`DOMAIN_NAME` := `DOMAIN_NAME`;
    PREPARE `stmt` FROM @`sql`;
    EXECUTE `stmt` USING @`DOMAIN_NAME`, @`REPORT`;
    DEALLOCATE PREPARE `stmt`;
END$$

DELIMITER ;

SQL Fiddle demo

更新

DELIMITER $$

DROP PROCEDURE IF EXISTS `test_parms`$$

CREATE PROCEDURE `test_parms`(`REPORT` VARCHAR(255), `DOMAIN_NAME` VARCHAR(255))
BEGIN
    SELECT `DOMAIN_NAME` `DOMAIN_NAME`, `REPORT` `REPORT`;
END$$

DELIMITER ;

SQL Fiddle demo

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MySQL ストアド プロシージャ: select ステートメントで IN パラメータを使用して準備されたステートメントを実行すると、「エラー コード: 1054 不明な列」がスローされる

分類Dev

複数のパラメーターを使用して SQL ストアド プロシージャでデータ テーブルを渡す方法

分類Dev

arraylistを準備済みステートメントのパラメーターとして使用する方法

分類Dev

.net Core3.1のストアドプロシージャに複数のパラメータを渡す方法

分類Dev

C#のストアドプロシージャで出力パラメータを使用する方法

分類Dev

PHPでpdoを使用してストアドプロシージャに複数のパラメータを渡す方法

分類Dev

MySQL-ストアド関数/プロシージャパラメータリストで「 `」文字を使用するかどうかの違い

分類Dev

JDBC準備済みステートメントでパラメーターインデックスの代わりに変数を使用する

分類Dev

出力パラメータでストアドプロシージャを使用するのはいつですか?

分類Dev

パラメータを使用したストアドプロシージャ内の複数のSELECT

分類Dev

複数のパラメーターを受け入れるストアドプロシージャ

分類Dev

EntityFrameworkのパラメーターでストアドプロシージャを使用する

分類Dev

C#:SQL Serverストアドプロシージャのパラメータを使用する方法は?

分類Dev

JOOQ:パラメータなしでストアドプロシージャのMockResultを作成する方法

分類Dev

SQLServerストアドプロシージャとの間でパラメータを送受信する方法

分類Dev

C#でストアドプロシージャの出力パラメータを取得する方法

分類Dev

複数の文字列パラメータを使用したストアドプロシージャoutmssql

分類Dev

ストアドプロシージャに複数の値のパラメータを渡す

分類Dev

PHPmysqliはパラメータなしのストアドプロシージャのステートメントを準備しました

分類Dev

jQueryAjaxを使用して複数のパラメーターをストアドプロシージャに送信する

分類Dev

AccessでSQLServerストアドプロシージャからの出力パラメータを使用する

分類Dev

ストアドプロシージャのパラメータを取得する

分類Dev

phpからMySQLストアドプロシージャに複数のパラメータを渡す際のエラー

分類Dev

Pythonでパラメータを使用してストアドプロシージャを呼び出す方法は?

分類Dev

SpringHibernateで@NamedNativeQueryを使用してストアドプロシージャにパラメータを渡す方法

分類Dev

Javaの準備済みSelectステートメントにパラメーターを含める方法は?

分類Dev

ストアドプロシージャパラメータを作成する関数を作成するときのSQLデータ型関数パラメータ

分類Dev

ストアドプロシージャの出力パラメータで値の配列を返す方法

分類Dev

SQLServerストアドプロシージャで動的パラメータを作成する方法

Related 関連記事

  1. 1

    MySQL ストアド プロシージャ: select ステートメントで IN パラメータを使用して準備されたステートメントを実行すると、「エラー コード: 1054 不明な列」がスローされる

  2. 2

    複数のパラメーターを使用して SQL ストアド プロシージャでデータ テーブルを渡す方法

  3. 3

    arraylistを準備済みステートメントのパラメーターとして使用する方法

  4. 4

    .net Core3.1のストアドプロシージャに複数のパラメータを渡す方法

  5. 5

    C#のストアドプロシージャで出力パラメータを使用する方法

  6. 6

    PHPでpdoを使用してストアドプロシージャに複数のパラメータを渡す方法

  7. 7

    MySQL-ストアド関数/プロシージャパラメータリストで「 `」文字を使用するかどうかの違い

  8. 8

    JDBC準備済みステートメントでパラメーターインデックスの代わりに変数を使用する

  9. 9

    出力パラメータでストアドプロシージャを使用するのはいつですか?

  10. 10

    パラメータを使用したストアドプロシージャ内の複数のSELECT

  11. 11

    複数のパラメーターを受け入れるストアドプロシージャ

  12. 12

    EntityFrameworkのパラメーターでストアドプロシージャを使用する

  13. 13

    C#:SQL Serverストアドプロシージャのパラメータを使用する方法は?

  14. 14

    JOOQ:パラメータなしでストアドプロシージャのMockResultを作成する方法

  15. 15

    SQLServerストアドプロシージャとの間でパラメータを送受信する方法

  16. 16

    C#でストアドプロシージャの出力パラメータを取得する方法

  17. 17

    複数の文字列パラメータを使用したストアドプロシージャoutmssql

  18. 18

    ストアドプロシージャに複数の値のパラメータを渡す

  19. 19

    PHPmysqliはパラメータなしのストアドプロシージャのステートメントを準備しました

  20. 20

    jQueryAjaxを使用して複数のパラメーターをストアドプロシージャに送信する

  21. 21

    AccessでSQLServerストアドプロシージャからの出力パラメータを使用する

  22. 22

    ストアドプロシージャのパラメータを取得する

  23. 23

    phpからMySQLストアドプロシージャに複数のパラメータを渡す際のエラー

  24. 24

    Pythonでパラメータを使用してストアドプロシージャを呼び出す方法は?

  25. 25

    SpringHibernateで@NamedNativeQueryを使用してストアドプロシージャにパラメータを渡す方法

  26. 26

    Javaの準備済みSelectステートメントにパラメーターを含める方法は?

  27. 27

    ストアドプロシージャパラメータを作成する関数を作成するときのSQLデータ型関数パラメータ

  28. 28

    ストアドプロシージャの出力パラメータで値の配列を返す方法

  29. 29

    SQLServerストアドプロシージャで動的パラメータを作成する方法

ホットタグ

アーカイブ