""
[Oracle]テーブル・カラム名が不明でもDBに入っている値を検索したい
見知らぬデータベースを渡され、中を解析したい時…
ありますよね?ありますよね!?
全テーブルの全列に入っている値を横断検索したいという要求、あるんじゃないでしょうか?
探したら同じことを考えている人が居ました
- 全テーブルの全列の値の検索方法について - Oracle Community
https://community.oracle.com/thread/2334738?tstart=0
方法は2種類
一つは dmp 出力して、テキスト検索 をするというもの
だいぶ力技ですけど、確かに、確実に検索できますね…
もう一つの方法は、PL/SQL で全データを総検索 するというもの
この方法、
やってみると、良い感じに動きます
お勧めです
テーブル名やカラム名が判らなくても、動きますしね!
めっちゃ感激したので、この記事にも SQL を載せておきます
このサンプルでは、全ての値に 「あ」 が入っているデータを検索します
どのテーブルの、どのカラムに、何件入っているかが判ります
う、嬉しい~!!!
|
|
DBの構造を解析するツールは結構探せばあるのですが、データの中身となると、調べるのは手間ですよね…
このSQLには助けられました~
話は変わりますが、
DB系のクライアントツールで、わたしがよく使っているのは A5:SQL Mk-2 (フリーソフト)です
- A5:SQL Mk-2 : SQL Development Studio
http://a5m2.mmatsubara.com/
Oracle, SQLServer, MySQL など多くのDBに対応しています
一番うれしいのは、Oracle への接続に、Oracle Client が無くても接続できる所ですね
OCI経由か、直接 IPアドレスなどを指定して接続するかを選択できる!!
ER図も自動生成してくれるし、
めっちゃ、現場で役立ってます
[Oracle] 直前のSQLを再実行する
OracleのコマンドラインでSQLを実行させるときのメモ
直前のSQLコマンドを実行は / (スラッシュ)
この場合、直前のバッファの内容は表示しません
|
|
直前のバッファの内容を表示して実行するのは run コマンド
|
|
直前のバッファの内容を修正するには edit コマンド
タイプミスなどを修正できます
ただし、環境変数 “_editor” にエディタの設定をしておく必要があります
|
|
(参考)
OracleのSQL*Plusで直前に実行したSQLを再実行
http://margrave.seesaa.net/article/127477048.htmlSQL バッファの編集、エディタで編集する
http://www.shift-the-oracle.com/sqlplus/command/edit.html直前に実行したSQLをエディタで編集する
http://sakusakuit.blog.fc2.com/?m&no=15