[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図も自動生成してくれるし、
めっちゃ、現場で役立ってます