Oppure

Loading
19/01/13 8:44
piter123
Salve, ho un piccolo progetto in vb6 che si collega ad una tabella di sql server.
Questa tabella contiene 4 colonne di cui una denominata ID in ordine ascendente.
La tabella contiene circa 2000 record.
Ora ad esempio devo inserire un nuovo record nella posizione 1000, per cui rinomino
tutti gli ID da 1000 in su aggengento una unità, per cui il 1000 diventa 1001, il 1001
diventa il 1002 ecc.
Dopo di che tramite INSERT inserisco il nuovo recor.
Fin quì tutto ok.
Il mio problema stà nell'aprire la tabella da Management Studio di Sql e di vedere che il
record che ho aggiunto non si trova tra il 999 e il 1001 ma bensì viene accodato, (nessun
problema per le query di lettura che vengono richiamate tramite ORDER BY ID), ma mi
piacerebbe vederlo non in coda.
Esiste un modo che dopo aver inserito il record mi riordina la tabella per ID ?
Grazie
aaa
19/01/13 9:16
nessuno
No, stai usando il DBMS come se fosse un file random e non è questo il modo giusto.

I record vanno semplicemente accodati, è poi responsabilità del tuo programma ordinarli, raggrupparli e visualizzarli secondo le necessità, non del DBMS.

Nel tool di visualizzazione (Management Studio) puoi ordinare i dati come vuoi quando li visualizzi.

E' anche sbagliata e inutile l'operazione che fai con gli ID. Gli ID sono riferimenti "univoci" e non vanno cambiati durante l'uso, altrimenti non hanno senso di esistere.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
21/01/13 12:51
ampeg
segui il consiglio precedente

inoltre se è solo per questione di "ordinamento" puoi mettere un campo numerico apposito, ad esempio lo chiami [ORD] e tramite codice ad ogni inserimento lo riscrivi come meglio ti soddisfa

io faccio così per ciò che riguarda una tabella clienti perché voglio che vengano visualizzati sempre in un certo ordine in una griglia indipendentemente da tutto il resto

ovviamente poi query la ordini in funzione di questo campo
Ultima modifica effettuata da ampeg 21/01/13 12:53
aaa
11/02/13 9:07
piter123
ciao e grazie, si è giusto tutto ciò che avete detto ed ho fatto come mi avete consigliato.
aaa