暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE命令问题

askTom 2017-07-17
436

问题描述

嗨,汤姆,

我面临这个问题与复制命令。我正在尝试将数据从远程数据库复制到本地数据库,并且该表具有90多个字段,并且我再次在SELECT语句中使用TO_CHAR()。我收到以下错误 ..你能建议一个解决办法吗?

示例:
---------

假脱机C:\ test1.log;

从DUAL中选择TO_CHAR(SYSDATE,'DD/MM/YYYY HH:MI:SS');
从PSDBOWNER中选择 *;

显示用户;

设置回声打开
设置线5000
设置PAGESIZE 1000
设置长100000000
从v $ 数据库中选择名称;

截断表PS_TEST_ARCH_BKP01;
从用户id/xxxxx @ PRD复制到用户id/xxxxx @ DEV-
插入PS_TEST_ARCH_BKP01 (TST_PC_ROWNUM,-
PROCESS_INSTANCE,-
LASTUPDDTTM,-
拉斯图多普里德,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
列,-
电话)-
使用选择TST_PC_ROWNUM,-
PROCESS_INSTANCE,-
TO_CHAR(LASTUPDDTTM),-
拉斯图多普里德,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
列 _ 瓦尔,-
TO_CHAR(PS_TIMESTAMP),-
电话从PS_TEST_ARCH其中PROCESS_INSTANCE在 (3352563);
线轴关闭;

注:-

DATETIME和PS_TIMESTAMP列是DateTime数据类型字段,但在复制数据之前将这两列转换为VARCHAR2。复制时,我使用TO_CHAR() 这两种数据类型。

错误:
=
SP2-0027: 输入太长 (> 2499个字符)-忽略行

数组获取/绑定大小为15。(排列大小为15)
完成后会提交。(复制为0)
最大长度尺寸为100000000。(长是100000000)

SP2-0502:
SP2-0503: *
SP2-0501: SELECT语句中的错误: ORA-00936: 缺少表达式

SQL> SP2-0734: 未知命令开头 “”-忽略其余行。


专家解答

不幸的是,COPY是单行命令,即与SELECT语句不同,在SQL Plus中它必须在一行上。

单行仅限于2499字符 (v11) 和4999 (v12)

但很容易解决-而不是使用复制,只需使用普通的插入-选择

insert into t (
  col1, 
  col2, 
  col3
  ...
)
select 
  col1, 
  col2, 
  col3
  ...
from t
复制


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论