问题描述
在表中,使用Oracle copy命令复制数据时,将1个字符转换为4个字节。
同时插入回1 Char列面临问题作为列值太长。
SQL> DESC DDD1;
名称为空?类型
-
ROW_ID不为空VARCHAR2(15个字符)
PRIV_FLG非空字符 (1个字符)
SQL> 复制到用户/通过 @ DB使用从DDD1中选择 * 创建DDD12;
数组获取/绑定大小为15。(排列大小为15)
完成后会提交。(复制为0)
最大长度为80。(长为80)
已创建表DDD12。
5036从默认主机连接中选择的行。
5036行插入ddd12。
在USER/PASS @ DB处提交到DDD12的5036行。
SQL> DESC DDD12;
名称为空?类型
-
ROW_ID不是空VARCHAR2(60)
PRIV_FLG非空字符 (4)
SQL> 使用从DDD12中选择 * 复制到用户/通过 @ db插入DDD1;
数组获取/绑定大小为15。(排列大小为15)
完成后会提交。(复制为0)
最大长度为80。(长为80)
错误:
ORA-12899: 对于列 “R4EIMUSER” 而言,值太大。“DDD1”。“PRIV_FLG” (实际: 4,
最大值: 1)
同时插入回1 Char列面临问题作为列值太长。
SQL> DESC DDD1;
名称为空?类型
-
ROW_ID不为空VARCHAR2(15个字符)
PRIV_FLG非空字符 (1个字符)
SQL> 复制到用户/通过 @ DB使用从DDD1中选择 * 创建DDD12;
数组获取/绑定大小为15。(排列大小为15)
完成后会提交。(复制为0)
最大长度为80。(长为80)
已创建表DDD12。
5036从默认主机连接中选择的行。
5036行插入ddd12。
在USER/PASS @ DB处提交到DDD12的5036行。
SQL> DESC DDD12;
名称为空?类型
-
ROW_ID不是空VARCHAR2(60)
PRIV_FLG非空字符 (4)
SQL> 使用从DDD12中选择 * 复制到用户/通过 @ db插入DDD1;
数组获取/绑定大小为15。(排列大小为15)
完成后会提交。(复制为0)
最大长度为80。(长为80)
错误:
ORA-12899: 对于列 “R4EIMUSER” 而言,值太大。“DDD1”。“PRIV_FLG” (实际: 4,
最大值: 1)
专家解答
从文档中:
"12.16 COPY
The COPY command is not being enhanced to handle datatypes or features introduced with, or after Oracle8i. The COPY command is likely to be deprecated in a future release."
所以它不会处理更新的语法等。解决方法,因为我相信你已经发现的是预重表。另一个选项是使用SQLCL:
"12.16 COPY
The COPY command is not being enhanced to handle datatypes or features introduced with, or after Oracle8i. The COPY command is likely to be deprecated in a future release."
所以它不会处理更新的语法等。解决方法,因为我相信你已经发现的是预重表。另一个选项是使用SQLCL:
SQL> COPY TO xxxxxx/xxxxxxx@db18_pdb1 CREATE t1 USING SELECT * FROM t; Array fetch/bind size is 15 (less if there are longs or blobs). (arraysize is 15) Will commit when done. (copycommit is 0) Maximum long size is 80. (long is 80) Table T1 created. 1 rows selected from DEFAULT HOST connection. 1 rows inserted into T1. 1 rows committed into T1 at xxxxxx@db18_pdb1. SQL> desc t1 Name Null? Type ---- ----- ----------------- X VARCHAR2(15 CHAR)复制
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
555次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
477次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
453次阅读
2025-04-01 11:08:44
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
451次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
447次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
440次阅读
2025-04-22 00:20:37
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
416次阅读
2025-04-22 00:13:51
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
416次阅读
2025-04-20 10:07:02
Oracle 19c RAC更换IP实战,运维必看!
szrsu
395次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
365次阅读
2025-04-17 17:02:24