免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2086 | 回复: 10
打印 上一主题 下一主题

请教使用SQL语句问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-21 11:44 |只看该作者 |倒序浏览
如一用户JX有3个表,表名为talbe01,tableaa,talbe99
如何使用select 语句将表名输出如下格式
talbe01,tableaa,talbe99
(表名输出到同一行中,且之间加一豆号)
其实真正的目的是想将库中大量的表(40个)通过EXP 。。TABLES方式导出来
而手工的一个一个表名去增加是很无聊的
希望有兄弟能告之可以偷懒的方法
exp username/pwd file=/text.dmp tables=talbe01,tableaa,talbe99

论坛徽章:
0
2 [报告]
发表于 2005-12-21 14:34 |只看该作者
select tname from tab;然后编辑一下。

论坛徽章:
0
3 [报告]
发表于 2005-12-21 15:12 |只看该作者
原帖由 txfy 于 2005-12-21 14:34 发表
select tname from tab;然后编辑一下。


就是因为不想手工去编辑呀,又烦又容易出错

希望大家帮忙想想办法

论坛徽章:
0
4 [报告]
发表于 2005-12-22 12:19 |只看该作者
自己顶一下

论坛徽章:
0
5 [报告]
发表于 2005-12-30 21:27 |只看该作者
select table_name || ',' from user_tables;

然后用ue替换 ^P替换成没有,就可以了

或者自己写个函数,也可以实现

论坛徽章:
0
6 [报告]
发表于 2006-01-05 08:35 |只看该作者
select max(decode(rownum,1,table_name,''))||','||
max(decode(rownum,2,table_name,''))||','||
max(decode(rownum,3,table_name,''))||','||
...
max(decode(rownum,50,table_name,''l))
from user_tables

假定表的数目不超过超过50

论坛徽章:
0
7 [报告]
发表于 2006-01-05 11:09 |只看该作者
原帖由 txfy 于 2005-12-21 14:34 发表
select tname from tab;然后编辑一下。

select 前:
set pagesize 0
set feedback off
set term off
set head off
然后spool出来,再vi
在vi 里
:1,$ s/$/,/
:1,$ s/ //g
然后按shift+j不放,直到全部连成一行就可以了
不是很方便的吗

论坛徽章:
0
8 [报告]
发表于 2006-01-05 11:36 |只看该作者
哈哈,方法挺多,有UEdit吗?

论坛徽章:
0
9 [报告]
发表于 2006-01-05 14:48 |只看该作者
我感觉还不如直接使用用户导出,那样来的简单,都50个表了,和使用用户导出没什么区别了。

论坛徽章:
0
10 [报告]
发表于 2006-01-05 21:17 |只看该作者
exp username/pwd file=/text.dmp tables=(%)

把当前用户下所有表导出
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP