2

Oracle10.2で次の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:一貫性のないデータ型:予期された-長くなりました

このようにWHERENOTEXISTSを省略した場合:

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行が作成されました。

何が起こっている?

4

2 に答える 2

1

Michel Cadotがバグだと言うなら、ほぼ確実にバグです。

于 2008-10-06T18:07:01.923 に答える
0

うん、そうらしい。

http://www.orafaq.com/forum/m/352199/130782/#msg_352199

于 2008-10-07T07:07:48.523 に答える