- - PR -
Long型のinsertについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-11-14 10:16
Oracleの同一DB内にあるテーブルからテーブルへのinsertをするために下記のようなinsert文を使用したところ。
テーブル項目にnumber型とvarchar2型とdate型のみの場合は成功したのですが、 Long型が含まれている場合は、「LONGデータ型は使用できません」とエラーになってしまいました。 Long型項目がテーブルに含まれている場合は、どのようにしたらinsertすることができるでしょうか? <実行insert文> insert into table2 select * from table1; |
|
投稿日時: 2005-11-14 11:56
環境は Unix or Linux、Bシェルを前提にかいていますが、これでできると思います。
$ exp scott/tiger file=exp.dmp tables=table1 $ sqlplus scott/tiger SQL> DROP TABLE table1; SQL> CREATE TABLE table1; -- table2 の内容で $ imp scott/tiger file=exp.dmp tables=table1 $ sqlplus scott/tiger SQL> RENAME table1 TO table2; |
|
投稿日時: 2005-11-14 13:03
テーブルの列定義が限定されるので
解決にはならないかもしれませんが・・・・ SELECTするテーブル(TEST1)のcol1がLONG型の場合、 INSERTされるテーブル(TEST2)の対応する列col1をCLOBで作成すれば 以下のようなSQLでできます。 INSERT INTO TEST2 SELECT TO_LOB(COL1) FROM TEST1 |
|
投稿日時: 2005-11-14 15:40
あんとれさん、夏椰さん、ありがとうございました。
table1はtable2を作成後、必要がなくなることになったために、RENAMEすることにしました。 いろいろとありがとうございました。 |
1