1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 从oracle数据表导到sql语句 oracle导出表结构到sql文件

从oracle数据表导到sql语句 oracle导出表结构到sql文件

时间:2022-01-19 22:15:34

相关推荐

从oracle数据表导到sql语句 oracle导出表结构到sql文件

问题描述:

1。想要导出用户CAI下的所有表结构到sql文件

2。网上搜索的解决方案如下:

需要登陆oralce用户:sqlplus用户名/密码@实例名

SQL>setserveroutputon

SQL>setlong999999

SQL>setfeedbackoff

SQL>spooltemp.sql

SQL>SELECTDBMS_METADATA.GET_DDL('TABLE',table_name)FROMUSER_TABLES;

SQL>spooloff

这样就可以将表结构导出到temp.sql文件了。

3。我登录的CAI用户,运行这些SQL,得到如下信息:

SQL>selectDBMS_METADATA.GET_DDL("TABLE",table_name)FROMUSER_TABLES;

selectDBMS_METADATA.GET_DDL("TABLE",table_name)FROMUSER_TABLES

*

ERRORatline1:

ORA-00904:"TABLE":invalididentifier

SQL>setserveroutputon--打开DBMS_OUTPUT输出

SQL>setlong999999--设置最大可返回的lob类型数据的大小

SQL>setfeedbackoff--关闭执行查询时的反馈信息(查询影响的行数)

SQL>spooltemp.sql--将查询结果保存到temp.sql文件

SQL>SELECTDBMS_METADATA.GET_DDL('TABLE',table_name)FROMUSER_TABLES;--通过dbms_metadata.get_ddl函数获取用户表的定义

SQL>spooloff--关闭保存

二.如何用sql语句,把oracle中的数据导到sqlserver

1、在UNIX下运行如下角本,也可以在数据库中手工执行

---------------------

sqlplus–suser/passwd<

setcolsep|;

setechooff;

setfeedbackoff;

setheadingoff;

setpagesize0;

setlinesize1000;

setnumwidth12;

settermoutoff;

settrimouton;

settrimspoolon;

spool存储文件名;

select*from要导出的表名;

spooloff;

exit

2、现在,ORACLE中某一表的内容就已经导入到上述提到的“存储文件名”文件中了;

3、由于文件中的列分隔符设定为“|”,需要使用EXECL把开该文件,将列分隔附替换成“TAB”,并使用TRIM()函数去掉列中的空格

4、在SQLSERVER中建立一个与ORACLE中结构相同的表。

5、使用SQLSERVER自带的BCP命令导入数据。

bcp导入表名in导入文件名-U用户名-P口令-c

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。