MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

配列をMySQLストアドルーチンに渡しますか?


配列をMySQLストアドルーチンに渡す方法を表示するストアドプロシージャを作成する必要があります。まず、この例のテーブルを作成しましょう。

テーブルの作成

mysql> create table FindDemo
   -> (
   -> name varchar(100)
   -> );
Query OK, 0 rows affected (0.46 sec)

テーブルにいくつかのレコードを挿入します。

mysql> insert into FindDemo values('John'),('Smith');
Query OK, 2 rows affected (0.13 sec)
Records: 2  Duplicates: 0  Warnings: 0

すべてのレコードを表示します。

mysql> select *from FindDemo;

以下は出力です。

+-------+
| name  |
+-------+
| John  |
| Smith |
+-------+
2 rows in set (0.00 sec)

配列をパラメータとして受け入れるストアドルーチンを作成します。

mysql> delimiter //
mysql>CREATE  PROCEDURE SearchingStoredProcedure(IN ArrayDemo VARCHAR(100))
   -> BEGIN
   ->     SELECT * FROM FindDemo
   ->     WHERE FIND_IN_SET(name, ArrayDemo);
   ->
   -> END//
Query OK, 0 rows affected (0.14 sec)

配列をパラメータとして渡します。

mysql> delimiter ;
mysql> call SearchingStoredProcedure('David,Bob,John');

これが出力です。

+------+
| name |
+------+
| John |
+------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)

  1. Cの値で配列を渡す

    これはC言語で配列を値で渡す例です 例 #include <stdio.h> float avg(float a[]) {    int i;    float avg, sum = 0.0;    for (i = 0; i < 6; ++i) {       sum += a[i];    }    avg = (sum / 6);    return avg; } int main() {    f

  2. C#のメソッドで配列を渡すにはどうすればよいですか?

    メソッドの配列をメソッド引数として渡します。 以下が配列の宣言と初期化であるとしましょう。 MyArray app = new MyArray(); /* an int array with 5 elements */ int [] balance = new int[]{1000, 2, 3, 17, 50}; 次に、メソッドgetAverage()を呼び出し、配列をメソッド引数として渡します。 double getAverage(int[] arr, int size) {    // code } 以下は、C#のメソッドで配列を渡す方法を示す例です。 例 usi