Adobe Solution Partner

February 26, 2007

How do I search across all columns in all tables in SQL?

Filed under: Databases — Tags: — Nat Papovich @ 8:00 pm

The development practice at Webapper does a fair bit of “version 2″ system development. Our customer has an existing application, built maybe in ColdFusion, maybe in PHP or another scripting language. Maybe in Access forms, maybe as a desktop application. We’ll use it as a prototype for creating a new webified application.

One part of these jobs is tracing how the old application works. Since there is never any documentation, and the source code is often too scary to look at (or no longer even available), it can be hard to find out the business rules underlying the software.

I’m working on such a project these days, and needed to find out where a particular string is being stored in the old database. The database is not normalized, there are no foreign key constraints, and there are inconsistent key names (like users.user_id and records.u_id as pkey and fkey, respectively).

I needed to find where in the database a particular string was being stored. I hunted in the most obvious tables and columns, but there are about 100 tables, and about 500 megs of data (lots of rows). I needed a SQL script to hunt down a particular keyword.

Google found Doug Hughes’s stored proc, which I remember having used with success in the past, but today it threw a ton of errors and came up empty handed. A bit more Googling turned up Vyas’s better stored proc. It worked like a charm. Hope this helps you!

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • StumbleUpon
  • Technorati
  • TwitThis

4 Comments »

  1. LOL… Nat that’s my day job in a nutshell too. Aren’t Access DB’s a hoot? :)

    Comment by Jen — February 26, 2007 @ 12:00 am

  2. The first thing I do when I get an Access DB is run the Upsizing Wizard on it so I can work with it in MSSQL. I simply can’t stand Access!

    Comment by Nat Papovich — February 27, 2007 @ 12:00 am

  3. how big is the db? you could always do an export as sql insert statements and just search the text file…. kinda retro but simple

    Comment by zac spitzer — February 27, 2007 @ 12:00 am

  4. It was 500 megs, which I think would produce approximately one gajillion lines of insert statements. The sproc I mentioned in the post takes about 10 seconds to return what I’m looking for. Good idea though, especially if I’m ever working with a non-Access/MSSQL database.

    Comment by Nat Papovich — February 28, 2007 @ 12:00 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

 

Server Down?

Maximize Web application uptime by drawing upon Webapper's years of experience tuning and stabilizing many of the world's largest ColdFusion Web applications. Contact us today!