0

後で使用するために、select ステートメントの結果 (複数の行と列) を変数に格納する必要があります。mySql のみでそれを行う方法はありますか。ストアドプロシージャで使用したい。

selectステートメントの単一の結果を変数に簡単に格納できることは知っていますが、複数の行と列を格納するものはありますか?

もしあるなら。次に、それは何ですか。

そうでない場合、次のようなシナリオは mySql でどのように解決できますか? dataTbale が存在すると仮定して、次の理想的/望ましいコードを書きました。

Declare dt DataTable;
set dt = select column_name,table_name from information_schema.columns
where table_schema='emp';

DECLARE i INT; DECLARE c INT; set i=0; set c=dt.Rows.Count;

  WHILE i < c
    @q = concat ('select ', dt.Rows[i][0],' from ',dt.Rows[i][1]);
    prepare s1 from @q;
    execute s1;deallocate prepare s1;
  END WHILE;

各行と dt の 2 つのセルが while で使用されます。二次元配列などの機能はありますか?

何をしようとしているのですか?上記の while のコードは、データベースのすべてのテーブルのすべての列のすべての値を (1 つずつ) 表示することを目的としています。

質問とは?タイトルと最初の質問文。

4

1 に答える 1

1

すべての結果を一度に保存する代わりに、カーソルを使用します: http://dev.mysql.com/doc/refman/5.0/en/cursors.html

次に、カーソルを読み取りながらループします。

于 2012-08-27T20:36:57.890 に答える