Vinnaren i pepparkakshustävlingen!
2010-07-01, 21:39
  #1
Medlem
hashs avatar
Hej,

Jag har en databas (oracle) med ca 1500 tabeller, varje tabell innehåller olika antal kolumner.

Jag behöver leta fram ett visst värde och jag vet inte i vilken tabell det finns, så hur göra?

Om jag hittar det värdet, så hittar jag även annan information i den tabellen jag vill åt.
Citera
2010-07-01, 21:54
  #2
Moderator
Protons avatar
Om du behöver leta fram ett visst värde, men inte vet i vilken av de 1500 tabellerna i databasen värdet kan tänkas finnas, har du då nån användning av värdet, eftersom du underförstått säger att du inte vet vad värdet kan tänkas representera eller eens har en aning om värdet håller sej inom domänen för attributet ifråga?

Det var en väldigt underlig frågeställning det där faktiskt. Vad jag vet finns det inte nåt speciellt sql-kommando för att leta i samtliga tabeller efter ett värde som kanske finns däri, isf måste du nog göra iordning nåt litet script eller nåt som hämtar ut samtliga tabellnamn och itererar igenom samtliga tabeller och ställer frågan gång på gång mot var och en av tabellerna.
Citera
2010-07-01, 22:19
  #3
Medlem
hashs avatar
Tja, jag är ganska grön på databaser, därav kanske min knepiga fråga

Grejen är den att jag hade tänkt att leta efter ett visst "username", jag vet varken vad tabellen heter och vad kolumen heter för att kunna hitta denna användaren.
Det jag däremot vet är att den tabellen även innehåller ett okrypterat lösenord för användaren. Det är lösenordet jag vill egentligen vill åt.

Jag har googlat massor på detta, men har bara hittat de vanligaste "select bla blah osv..."

Kan också tänka mig att det blir en ganska komplex query som liknar script, men jag har ingen aning om hur det skall se ut.
Citera
2010-07-04, 20:23
  #4
Medlem
kanske så här?

http://bytes.com/topic/oracle/answer...et-list-tables
Citera
2010-07-13, 16:06
  #5
Medlem
Citat:
Ursprungligen postat av hash
Tja, jag är ganska grön på databaser, därav kanske min knepiga fråga

Grejen är den att jag hade tänkt att leta efter ett visst "username", jag vet varken vad tabellen heter och vad kolumen heter för att kunna hitta denna användaren.
Det jag däremot vet är att den tabellen även innehåller ett okrypterat lösenord för användaren. Det är lösenordet jag vill egentligen vill åt.

Jag har googlat massor på detta, men har bara hittat de vanligaste "select bla blah osv..."

Kan också tänka mig att det blir en ganska komplex query som liknar script, men jag har ingen aning om hur det skall se ut.

Du kan leta efter kolumn-namn i USER_TAB_COLUMNS. Gör DESC på den så ser du vilka kolumner som DEN tabellen, eller möjligen vyn, har.
Citera
2010-07-13, 16:07
  #6
Medlem
Citat:
Ursprungligen postat av SvenTuba
Du kan leta efter kolumn-namn i USER_TAB_COLUMNS. Gör DESC på den så ser du vilka kolumner som DEN tabellen, eller möjligen vyn, har.
...och det blir inte komplext utan en enkel
SELECT * FROM USER_TAB_COLUMNS WHERE COLUMN_NAME like '%USER%';

där skulle jag börja.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback