Creare una sequence

sabato 19 giugno 2010 - 11.25

fixed Profilo | Junior Member

ciao, devo incrimentare una colonna di un db ogni volta che inserisco una nuova riga,
in oracle richiamavo una sequence da PLSQL.

ora sto lavorando con sql server 2005, come posso fare per creare una sequnce e richiamarla nel codice c#?

grazie
Gianluca

alx_81 Profilo | Guru

>ciao, devo incrimentare una colonna di un db ogni volta che inserisco
>una nuova riga, in oracle richiamavo una sequence da PLSQL.
Ciao

>ora sto lavorando con sql server 2005, come posso fare per creare
>una sequnce e richiamarla nel codice c#?
se non hai già usato un identity per un altro campo puoi applicare l'identità al campo in questione.
Attenzione ad un paio di cose:
1) puoi avere un identità per tabella, non di più
2) se hai errori negli inserimenti, potresti avere dei buchi nella numerazione

Per impostare l'identity puoi seguire l'utilizzo di Management Studio: http://msdn.microsoft.com/en-us/library/ms177173.aspx (voce, Identity Specification)
oppure via T-SQL: http://msdn.microsoft.com/en-us/library/aa933196(SQL.80).aspx

>grazie
di nulla!

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

lbenaglia Profilo | Guru

>ciao, devo incrimentare una colonna di un db ogni volta che inserisco
>una nuova riga,
>in oracle richiamavo una sequence da PLSQL.
>
>ora sto lavorando con sql server 2005, come posso fare per creare
>una sequnce e richiamarla nel codice c#?

Ciao Gianluca,

Attualmente SQL Server non offre una funzionalità paragonabile alle sequence presenti in Oracle (e non solo).
Ti posso dire che con molta probabilità le vederemo presto ma occorre aspettare ancora un po'
Come ti ha indicato Alessandro puoi utilizzare l'attributo IDENTITY per ottenere un risultato simile (anche se meno versatile) alle sequence.

>grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

fixed Profilo | Junior Member

ok, grazie mille a entrambi.

questo delle identity è il modo più comune per incrementare una colonna-chiave in sqlserver2005?

avevo anche pensato ogni volte che sto per inserire un nuovo record
una select per prendere il max + 1 ma non sò quale delle due ipotesi sia migliore.

grazie ancora

Gianluca

lbenaglia Profilo | Guru

>questo delle identity è il modo più comune per incrementare una
>colonna-chiave in sqlserver2005?
Esatto.

>avevo anche pensato ogni volte che sto per inserire un nuovo
>record
>una select per prendere il max + 1 ma non sò quale delle due
>ipotesi sia migliore.
Sicuramente la prima

>grazie ancora
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