人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLについて質問です。
DBはオラクル(9i)を使用しています。

SQLの項目に2バイト文字が入った場合にエラーが出るので下記の例のように\"で囲って回避しています。

例)
SELECT 名前,住所
FROM 個人データ
↓↓↓↓↓↓↓
SELECT \"名前\",\"住所\"
FROM \"個人データ\"

上記の様にしているのですが、数百行もあるSQLで\"を埋め込んでいくのが非常に時間がかかっています。自動的に\"を埋め込んむツール、方法等はないでしょうか。

よろしくお願いします。

●質問者: KAIHATSU
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● うぃんど
●150ポイント ベストアンサー

あなたが直面しているような問題があるから、
日本語のテーブル名やカラム名は使うなってのが定説になってたりします

そのため、もっとも楽で、今後もいらぬトラブルを回避するって意味で、
まずは半角英数だけでテーブルを構築しなおして、そこにデータをコピー
プログラムのほうは文字列置換で対応するのが正攻法となります

「先の事なんか知るか!」「とにかく動けばいいんだ!」ということであれば、
まずは下記のように半角スペースでしっかり区切るようにしてみてください
これならば置換で一発変換できるはずです

SELECT 名前,住所 FROM 個人データ
  ↓ ↓ ↓
SELECT 名前 , 住所 FROM 個人データ


過去質問と”をエスケープしてるってことでVB系だとは思いますが、
上記でもダメならば接続方法や利用しているドライバの関係だと思いますので、
環境(oo4oバージョンxxとかODBC・・・とか)と、
その部分のコードを明記して、他の回答を待ってみてください


KAIHATSUさんのコメント
ご回答ありがとうございます。 半角スペースで区切ることでは避けれないケースがありましたので、 自作でツール作成することにしました。

2 ● きゃづみぃ
●50ポイント

秀丸でマクロを使って置換したみたらいかがでしょうか?

http://hide.maruo.co.jp/lib/macro/listreplace211.html


KAIHATSUさんのコメント
ツール等がなければマクロ、スクリプトで自作かなぁとは思っていたんですが、やはり自作しかないのですねぇ
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ