Newsgroup: it.comp.lang.visual-basic
Titolo: [OT][?]Template di Tabelle

Mi trovo a dover memorizzare in un DB (MySql per inciso) diverse serie
temporali di valori.
Tali serie hanno tutte la stessa identica struttura (data, ora, val(1), ...,
val(6)), ma provengono da fonti diverse e pertanto devono essere memorizzate
in tabelle distinte (anche perche' un'unica tabella con un campo in piu' che
identifichi la fonte, renderebbe la tabella immensa!).
Esiste un metodo per creare una tabella template dalla quale creare di volta
in volta nuove tabelle per ogni nuova fonte?
Grazie a tutti per l'aiuto,
Lokar.che.ha.procrastinato.a.morte.l'uso.dei.database
--
Sito Comune: 
http://www.it-lang-vb.net/
Manifesto: 
http://www.it-lang-vb.net/docs/Manifesto.txt
UGIdotNET - 
http://www.ugidotnet.org

[Lokar]
Scusate, riformulo la domanda in una riga:
Esiste un comando SQL o VB per clonare _solo la struttura_ di una tabella in
una nuova tabella?
Grazie,
Lokar


 una nuova tabella?
A livello di istruzione SQL e' possibile con un piccolo "trucco", cosi':
SELECT * INTO Tabella2 FROM Tabella1 WHERE 0<>0
dove la condizione 0<>0 fa si che il recordset sia sempre vuoto, qualunque
sia il numero di record in Tabella1; quindi quello che ottieni e' solo la
struttura della tabella originaria.
Questo pero' ha il difetto
a) di essere una sintassi non particolarmente standard, su SQL Server e
Access funziona, su Oracle mai provata, sugli altri chissa'...
b) di non creare chiavi e indici vari nella nuova tabella, ma solo l'elenco
dei campi nudo e crudo; dovresti supplire quindi con dei comandi SQL
aggiuntivi
Se pero' la struttura della tabella base e' nota e fissa, e' molto piu'
semplice e portabile preparare a priori l'insieme di comandi SQL per la
creazione di tabella, chiavi ecc... mettere un qualche segnaposto dove deve
comparire il nome della stessa, e durante l'elaborazione fare un Replace per
mettere il nome corretto.
Qualcosa del genere:
Dim arScript(0 to x) As String
'queste puoi averle come costanti, o prese da un file di configurazione
ecc...
arScript(0) = "CREATE TABLE {tabella} (ID INT, PIPPO VARCHAR(10) ..."
arScript(1) = "CREATE INDEX IDX{tabella} ON {tabella} ..."
For i = 0 to x
    Connection.Execute  Replace(arScript(0), "{tabella}", "Tabella2")
Next
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 Grazie,
spero ti sia utile
ciaociao

 fare un Replace per mettere il nome corretto.
Se passi per Roma hai una tanica di caffe' pagata! ;)
Grazie davvero,


 la tabella con il nome che ti interessa:
Grazie mille anche a te!


 struttura della tabella originaria.
Geniale!!! ... ma anche un po' preoccupante.
In quale occasione hai avuto la possibilità di sbagliare così? ;-)

 ha scritto nel messaggio
news:b4nqrg$21al92$1...@ID-174464.news.dfncis.de...

A dire il vero, in nessuna... e' uno dei tipici trucchi che vengono dalla
"vecchia scuola" del boss :-)
Un'altro modo in cui si puo' applicare e' per recuperare rapidamente la
struttura di una tabella, oppure semplicemente testare se la tabella esiste,
quando non puoi o non vuoi utilizzare ADOX & C. e hai a disposizione
semplicemente il nome:
SELECT * FROM Tabella WHERE 0<>0
e nel recodset (vuoto) ottieni l'insieme completo dei campi


 e nel recodset (vuoto) ottieni l'insieme completo dei campi
Azz , la mettiamo nei tricks ? Veramente non ci avrei mai pensato !