Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    415

    evitare query "intrecciate"

    Ciao,
    vi spiego il mio problema. Uso un db Oracle tramite odbc e un campo di una tabella è un progressivo che viene incrementato quando viene inserito un nuovo record tramite codice (non si autoincrementa). Quindi prima di eseguire la query di inserimento, ne eseguo una dove estraggo il max del campo, lo incremento di uno ed eseguo la query di inserimento.
    Il mio dubbio è: cosa succede se due utenti inseriscono un nuovo record quasi contemporaneamente e la query che estrae il max, estrae lo stesso valore per entrambi gli utenti? C'è un modo per evitare che vengano inseriti due record con lo stesso valore per quel campo? Dovrei farlo tramite asp in ogni caso perché non ho la possibilità di modificare la tabella.
    Grazie.

  2. #2
    non hai una colonna contatore?

  3. #3
    hum bel problema.. l'unica credo sia o bloccare la tabella nel periodo che fai la lettura e l'inserimento, oppure tornare ad usare codici autoincrementali.. solo che bloccare la tabella è come dire "prestazioni queste sconosciute.."


    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    415
    Quel campo fa da contatore, ma per una serie di motivi che non sto a spiegarvi non è stato impostato a suo tempo in modo che si autoincrementi.

    L'unica soluzione sarebbe quella di bloccare la tabella quindi? Penso che andrebbe cmq bene, non ci sono moltissimi inserimenti in quella tabella (e quindi anche il problema originale dovrebbe essere raro, ma giusto per evitare problemi...).
    A livello di codice come si realizzerebbe?

  5. #5
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: evitare query "intrecciate"

    Originariamente inviato da Teo80
    Dovrei farlo tramite asp in ogni caso perché non ho la possibilità di modificare la tabella.
    Come mai non puoi modificare la tabella? Tramite ASP si può fare, usando l'SQL Alter Table...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    415
    Non posso modificare la tabella perché viene usata anche da altri programmi non gestiti da me. Come posso bloccarla in fase di inserimento per evitare questo problema?

  7. #7
    Non posso modificare la tabella perché viene usata anche da altri programmi non gestiti da me.
    al limite NON puoi modificare TOGLIENDO... MA sicuramente puoi aggiungere

    Sul bloccare avevo intravisto una discussione da poco (...se non sbaglio...)
    Grazie sempre di tutto!!!
    Alberto

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.