Oracle:使用 to_lob 从 user_ind_expressions 转换 column_expression 时出现 ORA-00932
Posted
技术标签:
【中文标题】Oracle:使用 to_lob 从 user_ind_expressions 转换 column_expression 时出现 ORA-00932【英文标题】:Oracle: ORA-00932 when converting column_expression from user_ind_expressions using to_lob 【发布时间】: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 行。
发生了什么事?
【问题讨论】:
【参考方案1】:如果 Michel Cadot says 是一个错误,那么几乎可以肯定它是一个错误。
【讨论】:
【参考方案2】:是的,好像是这样。
http://www.orafaq.com/forum/m/352199/130782/#msg_352199
【讨论】:
以上是关于Oracle:使用 to_lob 从 user_ind_expressions 转换 column_expression 时出现 ORA-00932的主要内容,如果未能解决你的问题,请参考以下文章