【问题标题】:Oracle: ORA-00932 when converting column_expression from user_ind_expressions using to_lobOracle:使用 to_lob 从 user_ind_expressions 转换 column_expression 时出现 ORA-00932
【发布时间】:2008-10-06 13:30:41
【问题描述】:

尝试在 Oracle 10.2 上运行这两个简单的语句:

CREATE TABLE mytest
   (table_name varchar2(30), 
   index_name varchar2(30), 
   column_expression clob,
   column_position number);

INSERT INTO mytest 
  (table_name,
   index_name,
   column_expression, 
   column_position) 
SELECT table_name, index_name,
       to_lob(column_expression), column_position 
FROM user_ind_expressions EXPRA 
WHERE NOT EXISTS 
   (SELECT 1 FROM user_constraints 
    WHERE constraint_name = EXPRA.index_name 
    AND table_name = EXPRA.table_name);

这会导致这个错误:

第 1 行的错误: ORA-00932: 不一致的数据类型: 预期 - 得到 LONG

如果我像这样省略 WHERE NOT EXISTS:

INSERT INTO mytest 
   (table_name,index_name,column_expression, column_position) 
SELECT table_name,index_name,
       to_lob(column_expression), column_position 
FROM user_ind_expressions EXPRA;

有效:

已创建 23 行。

发生了什么事?

【问题讨论】:

    标签: sql oracle insert ora-00932


    【解决方案1】:

    如果 Michel Cadot says 是一个错误,那么几乎可以肯定它是一个错误。

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 2015-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-14
        • 1970-01-01
        • 2013-07-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多