- ベストアンサー
Oracle 8i コンマ(,)を含むデータをinsertしたい
再度、質問させていただきます。 コンマを含むデータをinsertするにはどうしたらよいでしょうか? 例えば、次のようなテーブルを作成します。 CREATE TABLE SAMPLE (NAME VARCHAR( 15) NOT NULL, ADDRESS VARCHAR(30)); そして、 insert into sample values (Yamada, '731 Fondren,Houston,TX'); とinsertすると当然エラーになります。”ORA-00984: ここでは列は使用できません”というエラーが返ってきます。 "731 Fondren,Houston,TX"というコンマを含むアドレスをinsertしたいのですが、どうしたらよいでしょうか? set scan off をしてもダメで、 '[731 Fondren,Houston,TX]'という風に変えても、上と同じ”ORA-00984: ここでは列は使用できません”というエラーが返ってきます。グーグルで調べて、arrayof(text)という風にタイプを変えるのかなと試しましたが、だめでした。 何かアドバイスをお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
insert into sample values ('Yamada', '731 Fondren,Houston,TX'); としてください。
その他の回答 (2)
- Toshiki_I
- ベストアンサー率0% (0/2)
カンマ区切りのデータでもシングルクオーテーション ' がついていれば通常問題なくinsert出来ます 今回の例で insert into sample values (Yamada, '731 Fondren,Houston,TX'); がカットアンドペーストされたものだとすると yamada が ' でくくられていないのが原因だと思います。
お礼
おっしゃる通りでした。char関連の型は、'でくくらないといけないのですね。ありがとうございました。
- kots
- ベストアンサー率18% (4/22)
実行する環境にもよるのですが、 PLSQLを使ってみてはどうでしょうか? 例えばこんな感じにね! declare addr := '731 Fodren,Houston TX'; begin insert into sample values('yamada',addr); commit; end; /
お礼
PLSQLという方法もあるのですね。参考になりました。ありがとうございました。
お礼
成功しました。ありがとうございました。