Redian新闻
>
我的DBA在生成ORACLE table的时候需要一个一个column看
avatar
我的DBA在生成ORACLE table的时候需要一个一个column看# Database - 数据库
c*k
1
申请NIW, 人在Georgia, 140表应该寄哪里啊?
是Texas Center吗?
为什么I-140 instruction上说要在Georiga有Permanant position才应该寄到TSC?
多谢了.
avatar
d*1
2
我给他一个100 columns的table, 请他生成一个oracle table, 他说要一个一个column
看, 决定data type, 长度什么的, 然后才能load.
真的有这么笨吗? 难道没有什么自动的方式一下子把数据读进去?
avatar
g*y
3
set long 200000
select dbms_metadata.get_ddl('TABLE','$TABLE_NAME','$SCHEMA_NAME') from dual;
自己替换$TABLE_NAME,$SCHEMA_NAME

column

【在 d*******1 的大作中提到】
: 我给他一个100 columns的table, 请他生成一个oracle table, 他说要一个一个column
: 看, 决定data type, 长度什么的, 然后才能load.
: 真的有这么笨吗? 难道没有什么自动的方式一下子把数据读进去?

avatar
G*d
4
伊是没事儿找事儿
avatar
d*1
5
who?

【在 G********d 的大作中提到】
: 伊是没事儿找事儿
avatar
G*d
6

你家dba

【在 d*******1 的大作中提到】
: who?
avatar
d*1
7
不太理解, 我是一个大的text file 放在硬盘上, 把这个file 转成oracle table, 总
要设置一下路径把?

dual;

【在 g*****y 的大作中提到】
: set long 200000
: select dbms_metadata.get_ddl('TABLE','$TABLE_NAME','$SCHEMA_NAME') from dual;
: 自己替换$TABLE_NAME,$SCHEMA_NAME
:
: column

avatar
c*d
8
你开始没说清楚,他理解成另外一个意思了
如果你是要把text file中的数据load到oracle的某一个表里
用oracle自带的sqlldr就可以了
至于你们dba说要一个column一个的看
我不知道他什么意思
如果只是要确认text中的数据不会与table定义的类型冲突
我就会建一个临时表
取text file中前100条数据
用sqlldr导入这100条数据到临时表里
确认没问题后再把所有数据导入真正的数据表
另外在sqlldr的control file里加上discard file和bad file
这样有冲突的数据会存在这两个文件里

【在 d*******1 的大作中提到】
: 不太理解, 我是一个大的text file 放在硬盘上, 把这个file 转成oracle table, 总
: 要设置一下路径把?
:
: dual;

avatar
d*1
9
谢谢. 好象懂了, 也就是说要load 一个de novo 的data, 比须先建立一个空的table,
把里面的column的长度啊, 类型什么的建立好了, 然后在把数据读进去. 问题是这个空
table也不容易建啊, 如果有很多column的话, 数据类型什么的, 真的要一个一个看了.
如果前100行是数字的话, 就设成数字, 那么如果101行是字母呢, 那这一行岂不要丢
了.

【在 c*****d 的大作中提到】
: 你开始没说清楚,他理解成另外一个意思了
: 如果你是要把text file中的数据load到oracle的某一个表里
: 用oracle自带的sqlldr就可以了
: 至于你们dba说要一个column一个的看
: 我不知道他什么意思
: 如果只是要确认text中的数据不会与table定义的类型冲突
: 我就会建一个临时表
: 取text file中前100条数据
: 用sqlldr导入这100条数据到临时表里
: 确认没问题后再把所有数据导入真正的数据表

avatar
c*d
10
是的,在sqlldr之前表要存在
大部分情况下,导入之前应该知道表的每个字段的含义和数据类型
否则导入这些数据有什么用呀
一种方法是把所有字段都定义成varchar2
导入之后再说
另外一种更规范的做法
我在前面的帖子里说了
sqlldr的control file可以规定bad file
可以将导入过程中类型错误的记录存在这个文件里
这样你就知道那些行被剔除出来了
比如应该是两个字段(number, varchar2)
500 abc
结果数据文件里存的是
500abc
那么对生成的bad file修改之后
把bad file作为新的数据文件进行导入

了.

【在 d*******1 的大作中提到】
: 谢谢. 好象懂了, 也就是说要load 一个de novo 的data, 比须先建立一个空的table,
: 把里面的column的长度啊, 类型什么的建立好了, 然后在把数据读进去. 问题是这个空
: table也不容易建啊, 如果有很多column的话, 数据类型什么的, 真的要一个一个看了.
: 如果前100行是数字的话, 就设成数字, 那么如果101行是字母呢, 那这一行岂不要丢
: 了.

avatar
d*1
11
明白了, 太感谢了.

【在 c*****d 的大作中提到】
: 是的,在sqlldr之前表要存在
: 大部分情况下,导入之前应该知道表的每个字段的含义和数据类型
: 否则导入这些数据有什么用呀
: 一种方法是把所有字段都定义成varchar2
: 导入之后再说
: 另外一种更规范的做法
: 我在前面的帖子里说了
: sqlldr的control file可以规定bad file
: 可以将导入过程中类型错误的记录存在这个文件里
: 这样你就知道那些行被剔除出来了

avatar
n*r
12
depends on syntax of your txt files. but I think ur dba is doing the right
thing.
an easier way is to user toad.
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。