Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Tbella con nome variabile a seconda della data
lunedì 10 agosto 2009 - 12.25
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
perla0279
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 10 ago 2009 - 12:25
ciao
con sql 2000 dovrei creare una tabella con nome variabile a seconda della data.
Per fare un esempio io avevo provato così:
declare @pippo as nvarchar (50)
set @pippo = 'Moduli' + convert (nvarchar (50),getdate() ,112)
print @pippo
CREATE TABLE @pippo(.................
Ma giustamente non funziona.
Come posso fare per creare una tabella con nome + data odierna ??
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 10 ago 2009 - 15:04
>Come posso fare per creare una tabella con nome + data odierna??
Ciao Elena,
Personalmente non ritengo corretto generare "al volo" tabelle in quanto questa necessità denota un errore in fase di progettazione della base dati.
Ad ogni modo il tuo problema può essere facilmente risolto ricorrendo al (pericoloso) Dynamic SQL, quindi componendo la stringa col comando SQL ed eseguendolo via EXEC o sp_executesql.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
perla0279
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 10 ago 2009 - 15:18
Perchè pericolosissimo ???
l'esigenza nasce da un back_up di alcune tabelle che vengono generate in modo dinamico.... in modo da avere una controprova delle attività utente.
Nel senso che ogni tot viene lanciato una procedura che esegue delle operazioni, questa perde la traccia di tutto quello che c'era precedentemente. L'idea era quella di salvare le tabelle su un database di back_up con Nome+data.....
L'altra ipotesi e di inserire una data e poi effettuare le ricerche per data..... ma l'altro metodo rendeva più semplice l'estrazione e la join dei dati in caso di necessita.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 10 ago 2009 - 15:22
>Perchè pericolosissimo ???
Perché esponi la tua base dati ad attacchi di SQL Injection:
http://www.dotnethell.it/articles/SQL-Injection-Tutorial-Security.aspx
>l'esigenza nasce da un back_up di alcune tabelle che vengono
>generate in modo dinamico.... in modo da avere una controprova
>delle attività utente.
E l'errore è proprio questa "esigenza". Progettando opportunamente la base dati eviterai di dover generare dinamicamente nuove tabelle.
>Nel senso che ogni tot viene lanciato una procedura che esegue
>delle operazioni, questa perde la traccia di tutto quello che
>c'era precedentemente. L'idea era quella di salvare le tabelle
>su un database di back_up con Nome+data.....
Eseguire un backup di un db specificando nome e data ha un senso, generare nuovi oggetti dinamicamente no.
>L'altra ipotesi e di inserire una data e poi effettuare le ricerche
>per data.....
Qui ti stai muovendo nella direzione giusta.
>ma l'altro metodo rendeva più semplice l'estrazione
>e la join dei dati in caso di necessita.
??
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
perla0279
Profilo
| Senior Member
274
messaggi | Data Invio:
lun 10 ago 2009 - 15:30
Bhe ........... non ho molta esperienza. quindi ascolto il consiglio.
Nella mia testa avere una tabella diversa per ogni elaborazione mi sembrava più semplice da gestire :-) :-)
Comunque adesso penso creerò una tabella con data di elaborazione in modo da avere un back_up unico
grazie del consiglio
Avrei un'altra domandina ........... :-)
Visto la scelta del metodo vorrei a questo punto inserire anche il nome utente che effettua l'operazione.
Come faccio a metterlo di default sul campo di una tabella..... mi piacerebbe sempre se possibile che venisse settato come getdate() che in automatico ti inserisce il valore per ogni record...
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !