oracle中如何查询多张表的数据!

select*from(selectTABLE_NAMEfromUSER_TAB_COLSwhereCOLUMN_NAME='MAP_UID');我想查询数据库中含有'M... select * from (select TABLE_NAME from USER_TAB_COLS where COLUMN_NAME = 'MAP_UID');

我想查询数据库中含有'MAP_UID'字段的表的所有数据,请问要怎样写SQL语句,然后把结果输出到CSV文件。本人前端不懂数据库,请高人指教。
declare
sqlstr VARCHAR2(100);
cursor bjnet_map_uid_cur
is select TABLE_NAME from USER_TAB_COLS where COLUMN_NAME = 'MAP_UID';
cur_table_name USER_TAB_COLS.TABLE_NAME%TYPE;
begin
open bjnet_map_uid_cur;
loop
fetch bjnet_map_uid_cur into cur_table_name;
exit when bjnet_map_uid_cur%NOTFOUND;
sqlstr:='select count(*) from '||cur_table_name||' where map_uid is not null';
EXECUTE IMMEDIATE (sqlstr);
end loop;
close bjnet_map_uid_cur;
end;

现在是这样,能够执行,但在oracle sql developer中看不到执行的结果呀!还有我想把每张表的数据保存成CSV,要怎样啊!
展开
 我来答
ct2k01
2012-11-22 · TA获得超过1570个赞
知道小有建树答主
回答量:1653
采纳率:0%
帮助的人:1114万
展开全部
弄个字符串变量,设个游标,用括号里那一串;
然后遍历表名,每找到一个表名,就在字符串变量里拼上一段:= 'select * from '||table_name||';',
然后用EXECUTE IMMEDIATE执行;
然后读下一个表名,直至遍历完毕。

大致就是这么个意思。
追问
我补充了问题,麻烦给解答下呗
情又独中
2012-11-23 · TA获得超过1032个赞
知道小有建树答主
回答量:1220
采纳率:100%
帮助的人:833万
展开全部
select 'select * from '||TABLE_NAME from USER_TAB_COLS where COLUMN_NAME = 'MAP_UID';
然后把执行出来的结果,再拿出来执行一遍
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式