Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [SQLServer] Sequence

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116

    [SQLServer] Sequence

    Esiste la possibiltà di creare sequence su sqlserver?

    So che c'è l'autoincrement sulle tabelle, ma io avrei proprio bisogno di creare una sequence (anche senza associarla a qualche trigger)

  2. #2
    puoi fare una function, ma spiega meglio cosa ti serve, fa' un esempio

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    Ho del codice java che chiama una cosa del genere:

    "SELECT SEQ_DOC.nextval FROM DUAL"

    per prendere gli id da impostare in una tabella.

    Dovendo ora cambiare la base di dati e andare su sqlServer vorrei cercare di cambiare meno codice possibile, percui mi va bene anche un function, purchè invocabile in quella maniera.

  4. #4
    cosa riporta questa interrogazione

    SELECT SEQ_DOC.nextval FROM DUAL

    ???

    l'id che assumerebbe la prossima riga che sarà inserita nella tabella SEQ_DOC?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    Esatto, DUAL è il nome della sequence, nextVal la chiamata per ottenere il prossimo valore ed aggiornare il progressivo.

    Di norma su Oracle usiamo dei trigger che sulla insert in una tabella fanno esattamente questa cosa: vanno a prendere un valore dall'oggetto SEQUENCE e lo inseriscono nel campo id. Ovviamente ci va un trigger e una sequence per ogni tabella che usa degli incrementatori numerici come id.

    Il massimo sarebbe fare qualcosa con SqlServer in modo da lascire inalterata questa Query e ottenere un valore nuovo.

    Non ho idea di quanto sia fattibile..

  6. #6
    ma hai delle sequenze particolari? perché non ti va bene l'id auto-incrementante?

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    116
    Il problema è:

    ho un progetto java che solitamente usiamo su db oracle, ad un certo punto abbiamo dovuto adattarlo ad un db SqlServer. Se riesco a mantenere il codice uguale, è solo una questione di differenza di librerie, e devo mantenere un solo progetto, se no, per quanto piccole le differenze son comunque due progetti diversi.

  8. #8

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.