2013-02-14 65 views
0

我正在两个数据库之间移动一些数据,并取得了很大的成功,但后来遇到了一个问题,正在做同样的查询。Oracle错误,在数据库之间移动数据

查询:

INSERT INTO [email protected] SELECT * FROM INTERNET.WEBSECURITY; 

的错误:

ORA-06502: PL/SQL: numeric or value error: character string buffer too small 

什么,这可能是任何想法?

回答

2

您正尝试为plsql变量分配一个值,该变量不够大或比列数据类型大。

+0

因此,它可能是一个人的ID为1-10,下一个以ID的40-80开始,这会破坏序列? 有什么办法可以解决这个问题吗? – Solid1Snake1 2013-02-14 21:16:22

+0

它可以。为了能够得到具体的答案,您应该提供有关您的案例的更多详细信息。如果身份证号码不匹配,请尝试转换数据,如果转换无关紧要。但我的建议是,提供更多细节使得更容易得到更具体的答案。 – 2013-02-14 21:30:07

+1

得到它解决,禁用触发器,防止我正在尝试做什么,更新序列以开始下一个数字,并重新启用触发器。谢谢 – Solid1Snake1 2013-02-14 21:41:28

0

另外:分配/插入非数字值到数值变量/列。 可能您的表列在数据类型和大小上有点不同。我的例子中没有看到任何变量。