【问题标题】:convert column to varchar in oracle which is mysql longtext在oracle中将列转换为varchar,即mysql longtext
【发布时间】:2016-10-28 09:51:03
【问题描述】:

我有一个插入语句从数据库链接中提取数据。

insert into table (a,b,c)
    select a,b,c from table@mysqldb;

这里的 c 列在 mysql 中是 long 类型,在 oracle 中是 varchar

我尝试转换为 varchar、substr(c, 1,2400)、UTL_RAW.CAST_TO_VARCHAR2、dbms_lob.substr 他们都没有在 oracle 方面工作。

在 mysql read 部分尝试过强制转换没有用。

谁能告诉我怎么做。在这里,我试图将 long 转换为 varchar。我们不能像 clob 一样加载,因为这个表在很多地方都使用过,我们不能在很多地方改变东西

谢谢。

【问题讨论】:

  • 你得到什么错误? (我猜该命令是在 Oracle 中执行的,对吧?)
  • 是的,我在 oracle 上运行它,当尝试使用 substr ORA-01461 时:只能绑定 LONG 值以插入 LONG 列
  • 如果你执行select a,b,c from table@mysqldb;会得到什么?
  • 好吧,这是在 proc 中运行的,我们无法直接查询我们无权访问的 mysql db。
  • 我正在考虑从 Oracle 内部运行查询(例如使用 SQL-Developer 等),而不是 MySQL。

标签: mysql sql oracle varchar dblink


【解决方案1】:

我不得不将目标列转换为 clob 来处理这种情况

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 2020-03-10
    • 2020-10-24
    • 2020-01-20
    相关资源
    最近更新 更多