利用SQL*Plus复制遗留的Oracle数据表

爱魅呦

爱魅呦

2016-01-29 14:43

利用SQL*Plus复制遗留的Oracle数据表,利用SQL *Plus复制遗留的Oracle数据表

你可能运行的是Oracle 10g Release 2数据库服务器,但是需要支持某些应用程序可能是很早之前写好的。在Oracle 8i之前的版本创建的数据表常用LONG数据类型来存储大型文本。

随着Large Object(LOB)数据类型的引入,LONG和LONG RAW数据类型就被抛弃了。如果你要复制使用了LONG数据类型的数据表,那么使用CREATE TABLE AS SELECT语法将不能完成任务,这时将会返回错误:ORA-00997: illegal use of LONG 数据类型。

你可以导出该表然后再导入它,但是这样要做大量的工作。SQL*PLUS中的COPY命令仍旧可以使用一条命令来完成对此类数据表的复制。下面是使用COPY命令的格式(注意使用短线“-”来换行):

COPY FROM user/pw@dblink TO user/pw@dblink CREATE tablename -USING select-statement;

不过在Oracle 8.0版本COPY命令的功能被冻结,因为它只能复制有下列数据类型组成的数据表:CHAR,DATE,LONG,NUMBER和VARCHAR2。在8i版本中增加了新的数据类型而后者不支持,这完全是一个继承的方法。

SQL CREATE TABLE my_views AS  2     SELECT * FROM user_views;   SELECT * FROM user_views          *ERROR at line 2:ORA-00997: illegal use of LONG datatype SQL SET LONG 100000SQL COPY FROM hr/hr@orcl CREATE my_views -USING select * from user_views;Array fetch/bind size is 15. (arraysize is 15)Will commit when done. (copycommit is 0)Maximum long size is 100000. (long is 100000)Table MY_VIEWS created.   1 rows selected from hr@orcl.   1 rows inserted into MY_VIEWS.   1 rows committed into MY_VIEWS at DEFAULT HOST connection.SQL descmy_views; Name           Null?    Type ----------------------------------------- -------- ---------------------------- VIEW_NAME               NOT NULL VARCHAR2(30) TEXT_LENGTH             NUMBER(38) TEXT                    LONG TYPE_TEXT_LENGTH        NUMBER(38) TYPE_TEXT               VARCHAR2(4000) OID_TEXT_LENGTH         NUMBER(38) OID_TEXT                VARCHAR2(4000) VIEW_TYPE_OWNER         VARCHAR2(30) VIEW_TYPE               VARCHAR2(30) SUPERVIEW_NAME          VARCHAR2(30)SQL spool off

列表A

列表A中演示了使用CREATE TABLE时的错误和成功使用COPY命令的方法。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)
展开更多 50%)
分享

猜你喜欢

利用SQL *Plus复制遗留的Oracle数据表

编程语言 网络编程
利用SQL *Plus复制遗留的Oracle数据表

利用SQL*Plus复制遗留的Oracle数据表

电脑网络
利用SQL*Plus复制遗留的Oracle数据表

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Oracle 数据表分区的策略

编程语言 网络编程
Oracle 数据表分区的策略

Oracle 9i截断数据表

编程语言 网络编程
Oracle 9i截断数据表

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Oracle 9i创建数据表

编程语言 网络编程
Oracle 9i创建数据表

Oracle 9i删除数据表

编程语言 网络编程
Oracle 9i删除数据表

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Oracle数据库数据锁定机制全面解析

Oracle数据库数据锁定机制全面解析

oracle用存储过程加密一段字符串(3des算法)

oracle用存储过程加密一段字符串(3des算法)
下拉加载更多内容 ↓