Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [MySql5] eseguire sequenza di UPDATE tramite un unico comando da scrip ASP

    Sto tentando di lanciare l'esecuzione della seguente sequenza di UPDATE:
    Codice PHP:
    UPDATE nomeTAB SET nomeCampo='testo 1' WHERE id=1;
    UPDATE nomeTAB SET nomeCampo='testo 2' WHERE id=2;
    UPDATE nomeTAB SET nomeCampo='testo 3' WHERE id=3;
    UPDATE nomeTAB SET nomeCampo='testo 4' WHERE id=4;
    UPDATE nomeTAB SET nomeCampo='testo 5' WHERE id=5;
    UPDATE nomeTAB SET nomeCampo='testo 6' WHERE id=6;
    UPDATE nomeTAB SET nomeCampo='testo 7' WHERE id=7
    tramite un unico comando di esecuzione da script ASP:
    nomeConn.Execute sqlString

    Ho provato anche a mettere le query UPDATE trai comandi:
    Codice PHP:
    START TRANSACTION;
    update... 1;
    update... 2;
      ...
    update... n;
    COMMIT
    Ma non sembra funzionare.

    Il mio obittivo è evitare la sequenza:
    nomeConn.Execute sqlStringUpdate1
    nomeConn.Execute sqlStringUpdate2
    ...
    nomeConn.Execute sqlStringUpdaten

    Come posso fare?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    update nometab set nomecampo = 
    case
    when id = 1 then 'testo1'
    when id = 2 then 'testo2'
    when id = 3 then 'testo3'
    when id = 4 then 'testo4'
    when id = 5 then 'testo5'
    when id = 6 then 'testo6'
    when id = 7 then 'testo7'
    else nomeCampo
    end
    Tramite else lasci invariato il campo per tutti gli id che non specifichi.

  3. #3
    Ciao nicola75ss,

    ti ringrazio per essere intervenuto.

    La soluzione che mi hai proposto funziona bene se eseguita direttamente da MySQL Query Browser, ma si inceppa (lo script va in timeout) se tento di eseguirla tramte comando execute di una pagina ASP:
    nomeConnessione.execute sqlString
    dove sqlString contiene l'intera SELCT CASE creata dinamicamente.

    Devo dedurre che non è possibile farlo da script ASP oppure sto dimenticando qualcosa?

    Nota: mi collego al DB tramite ODBC

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Quanti record stai cercando di aggiornare?

    Non sono molto pratico di asp ma forse modificando il tempo di timeout con

    Server.ScriptTimeout = x

    con x numero di secondi risolveresti.

    edit. Ma i testi da aggiornare li hai già in un'altra tabella?
    In questo caso potresti fare un update mettendo in join le due tabelle.

  5. #5
    Al momento sto lavorando su un ambiente di test,
    in cui ho una tabella contenente 50 record
    Sto tentando di aggiornate 9 record.

    I testi non li ho in un'altra tabella, sono tringhe di Max 250 caratteri che scrivo direttamente nella query.

    ln pratica lo script ASP crea dinamicamente la stringa SQL, dopodichè lancio un comando
    execute SQL direttamente dalla pagina ASP

    Il mio dubbio è che collegandomi tramite profilo ODBC questo non sia possibile.

  6. #6
    Moderatore di Altri Server + Database L'avatar di SUPERMIKY
    Registrato dal
    Jun 2001
    Messaggi
    1,706
    Originariamente inviato da Marvellous
    Al momento sto lavorando su un ambiente di test,
    in cui ho una tabella contenente 50 record
    Sto tentando di aggiornate 9 record.

    I testi non li ho in un'altra tabella, sono tringhe di Max 250 caratteri che scrivo direttamente nella query.

    ln pratica lo script ASP crea dinamicamente la stringa SQL, dopodichè lancio un comando
    execute SQL direttamente dalla pagina ASP

    Il mio dubbio è che collegandomi tramite profilo ODBC questo non sia possibile.
    se invece ti colleghi in OLE cambia qualcosa?
    sinceramente è una situazione che non mi è mai capitata
    vCard | CV | Social networks
    No, in privato non ti aiuto.

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    E' molto strano che lo script vada in timeout aggiornando 9 miseri record.

  8. #8
    in ASP non è possibile collegarsi ad un DB Mysql tramite OLEDB, ma solo tramite ODBC.
    Questo limite è stato superato in ASP.net; purtroppo io sono ancora fermo alla versione precedente.

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    A me sorge il dubbio che ci sia qualche problema nello script. Sei sicuro che non vada in loop al momento in cui esegui la query?

  10. #10
    sono certo che lo script non vda in loop, è la prima cosa che ho controllato.

    Stando a questo articolo il problema potrebbe essere causato dal tipo di connessione che vado a aprire

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 © 2025 vBulletin Solutions, Inc. All rights reserved.