Chiave primaria numerica: come dare un passo 10 ?

mercoledì 24 ottobre 2007 - 17.04

hermes Profilo | Newbie

Salute.

Ho bisogni di estrarre da una tabbella tutti i valori distinti del campo NomeCliente
(Select distinct)

e nella tabella di uscita voglio dare in automatico a ciascuno un ID numerico.
Fin qui va bene, se la struttura della tabella di destino contiene un contatore,
mettendoci i dati questo si incrementa e ok...

Pero', se volessi avere un ID numerico di passo 10
(10 20 30 40 50...),
cosi' da inserire in ordine alfabetico in posizione intermedia un eventuale nuovo cliente,
si riesce? E come?


ringrazio fin dora

gae58 Profilo | Senior Member

penso che tu lo possa definire all'interno dell'identity, dove ti chiede valore inziale ed incremento.

ciao

Gaetano

lbenaglia Profilo | Guru

>Ho bisogni di estrarre da una tabbella tutti i valori distinti
>del campo NomeCliente
>(Select distinct)
>
>e nella tabella di uscita voglio dare in automatico a ciascuno
>un ID numerico.
>Fin qui va bene, se la struttura della tabella di destino contiene
>un contatore,
>mettendoci i dati questo si incrementa e ok...
>
>Pero', se volessi avere un ID numerico di passo 10
>(10 20 30 40 50...),
>cosi' da inserire in ordine alfabetico in posizione intermedia
>un eventuale nuovo cliente,
>si riesce? E come?

Ciao hermes,

con che DBRMS lavori?
Se utilizzi SQL Server la proprietà IDENTITY accetta due argomenti: un seme (valore iniziale) ed un fattore di incremento (che nel tuo caso puoi impostare a 10).
Attenzione però: non potrai specificare valori espliciti per la colonna IDENTITY a meno di impostare a ON l'opzione IDENTITY_INSERT.
Sinceramente non riesco a capire "che te frega" inserire nel mezzo eventuali nuovi clienti
In un database relazionale "la posizione" delle righe all'interno di una tabella semplicemente non ha alcun senso dato che puoi specificare ordinamenti differenti mediante la clausola ORDER BY.

>ringrazio fin dora
Prego

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5