PDA

View Full Version : Istruzione SQL


monkey72
07-10-2003, 10:57
esiste un'istruzione SQL che mi permetta di cercare un valore di un campo non conoscendo la tabella in cui questo campo è contenuto?
mi spiego meglio... devo modificare un valore di un campo in una tabella, non conosco nè le tabelle ne i campi, ma questi li posso ottenere rispettivamente con "select table_name from user_tables" e facendo poi la desc per ogni tabella ottenuta...
x evitare di aprire tutte le tabelle alla ricerca di questo campo esiste una query tipo: "seleziona tutte le tabelle in cui c'è un capo con un certo valore" ?

grazie,

monkey ;)

cn73
07-10-2003, 14:03
Ma non penso proprio... ci vuole codice PLSQL.

cionci
07-10-2003, 14:14
Oppure da codice basta ottenere la lista dei campi di un tabella e fare una query che cerchi in tutti i campi..

monkey72
07-10-2003, 14:53
il codice PL/SQL non l'ho mai usato... :(
ma le procedure PL/SQL devono essere inserite in codice?

pensavo fosse più semplice...

ma un tool che mi permetta di avere lo schema ER? forse erwin?

cionci
07-10-2003, 14:58
Qualsiasi linguaggio di programmazione che usa ADO può ottenere la lista dei campi di una tabella...quindi se è questo il problema fai presto :)

monkey72
07-10-2003, 19:24
ma se uso il codice devo crearmi la fonte dati, aprire una connessione verso di essa e poi posso fare le query... ma non sono sempre comandi espressi tramite stringhe SQL?

cionci
08-10-2003, 07:41
Sì, ma il linguaggio di descrizione del risultato viene usatoda ADO:

<SCRIPT Language="VBScript">
For Each objFld in rsAttendees.Fields
document.write("The field named " & objFld.Name & " has the following properties:<BR>")
For Each objProp in objFld.Properties
document.write("The " & objProp.Name & " property has the value: " & objProp.Value & "<BR>")
Next
Next
</SCRIPT>

Come vedi con questo metodo puoi tranquillamente mettere i campi che ti interessano per costruuire la query che ricerca il valore...

cionci
08-10-2003, 07:47
Senza contare la properità OpenSchema dell'oggetto connessione...

monkey72
08-10-2003, 08:23
:( non è che questi concetti mi siano così chiari, lampanti ed ovvi come li esponi tu... ma credo di aver capito il senso generale :)
quindi vado a studiare un attimo meglio il caso e poi ti dico... :( :)

grazie!! ;)

cionci
08-10-2003, 08:37
In pratica usi ADO per risucire ad ottenere le tabelle contenute nel DB (con la proprietà OpenSchema della connessione ADO) e con il codice che ti scritto ottieni il nome ed il tipo dei campi contenuti in una delle tabelle ottenute sopra...

A quel punto hai il nome dei campi ed il tipo...allora puoi costruirti una query per ricercare il valore che ti sere all'interno dei campi con tipo compatibile...

monkey72
08-10-2003, 09:23
Originariamente inviato da cionci
In pratica usi ADO per risucire ad ottenere le tabelle contenute nel DB (con la proprietà OpenSchema della connessione ADO) e con il codice che ti scritto ottieni il nome ed il tipo dei campi contenuti in una delle tabelle ottenute sopra...

A quel punto hai il nome dei campi ed il tipo...allora puoi costruirti una query per ricercare il valore che ti sere all'interno dei campi con tipo compatibile...

si... questo era il concetto generale che avevo capito... è mettere in pratica che mi spaventa... le mie sono soprattutto nozioni e pochissima pratica ma ci provo... :)