mySql中有两个Dim(2-D)数组或Datatable?

时间:2012-08-27 20:31:22

标签: mysql arrays

我需要在一个变量中存储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单元用于while。是否有任何二维阵列或其他设施?

正在尝试做什么?上面的代码while用于显示数据库所有表中所有列(逐个)的所有值

有什么问题?标题和第一个问题陈述。

1 个答案:

答案 0 :(得分:1)

不要一次存储所有结果,而是使用光标:http://dev.mysql.com/doc/refman/5.0/en/cursors.html

然后在读取光标时循环。