假设我有一个数据库data1,它给了我:
显示表格;
表1
表2
table3
现在,我想创建一个遍历“show databases”中显示的每个数据库的过程,而不是单独执行“select * from each table”。结果集,然后从该数据库的每个表执行select *。我想过使用向下滚动结果集的游标,将每个数据库名称保存在变量中,然后以相同的方式遍历该数据库的每个表上的select语句。在这种情况下,有人可以帮助我解决如何使用游标,因为我只知道在SELECT和UPDATE语句中使用游标。
顺便说一句,我使用的是MYSQL。
答案 0 :(得分:2)
我不会问为什么要这样做。这是伪代码的一般策略;
[括号中的单词(SQL命令和表格)将在mySQL服务器上运行。]
使用您喜欢的工具/编程语言连接到您的mySQL服务器,并且:
-- (USE information_schema;)
for db in (select distinct table_schema from tables;)
do:
for table in (select table_name from tables where table_schema='$db';)
do:
select field,column,attribute from $table;
done
done
祝你好运!
答案 1 :(得分:1)
您可以从information_Schema而不是'show databases'
获取查询