Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Update Record

  1. #1

    Update Record

    Ciao a tutti, ho questa difficoltà e vi sarei grato se qualcuno potesse darmi una mano.

    Devo aggiornare una tabella contenente un listino prezzi con il contenuto di un'altra tabella.

    Forse spiego meglio così:

    Tabella origine: prezzi
    colonna riferimento: liprezzo

    Tabella destinazione: variazioni
    colonna riferimento: ARMOLTIP

    colonna comune: arcodart (il codice dell'articolo di cui devo aggiornare il prezzo)

    La difficoltà sta nel fatto che la tabella origine prezzi ha solo i codici e i prezzi degli articoli che hanno subito la variazione del prezzo.

    Ho creato questa query:
    UPDATE variazioni, prezzi
    SET
    prezzi.arcodart = '$liprezzo',
    variazioni.ARCODART = '$ARMOLTIP'
    WHERE prezzi.arcodart = variazioni.ARCODART
    ma non funziona....

    Qualcuno può aiutarmi. Grazie

  2. #2

    Re: Update Record

    Veramente non ho capito na mazza!
    Puoi essere + chiaro con degli esempi?

  3. #3
    La prima cosa che mi salta all'occhio è che non hai messo il nome della tabella sulla riga dell'update.

    UPDATE nome_tabella.variazioni, nome_tabella.prezzi
    SET prezzi.arcodart = '$liprezzo', variazioni.ARCODART = '$ARMOLTIP'
    WHERE prezzi.arcodart = variazioni.ARCODART
    .

    Ad ogni modo non ho capito bene quello che intendi, quindi forse ho scritto una fagianata!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4

    temevo di essere stato poco chiaro..

    Allora ho questa tabella:

    codice:
    -- 
    -- Struttura della tabella `variazioni`
    -- 
     `ARCODART` varchar(20) NOT NULL default ''  ,
      `ARDESART` varchar(40) default NULL,
      `ARDESSUP` longtext,
      `ARUNMIS1` char(3) default NULL,
      `AROPERAT` char(1) default NULL,
    `ARMOLTIP` decimal(19,4) default NULL ,  ,
      `ARUNMIS2` char(3) default NULL,
      `ARGRUMER` varchar(5) default NULL,
      `codice_desc` int(5) default NULL,
      `ARCODFAM` varchar(5) default NULL,
    etc, etc.
    Nella quale è inserita tutta l'anagrafica di un listino che deve essere aggiornato da un'altra tabella nella quale vi sono solo gli articoli che hanno subito una variazione del prezzo :
    codice:
    -- 
    -- Struttura della tabella `prezzi`
    --
      `arcodart` VARCHAR(255),  
      `argrumer` VARCHAR(255),
      `ardesart` VARCHAR(255),
      `arunmis1` VARCHAR(255),
      `arcodfam` VARCHAR(255),
      `liprezzo` DECIMAL(19,4),  
      `lsvallis` VARCHAR(255),
      UNIQUE `arcodart` (`arcodart`)
    dove arcodart è il codice dell'articolo, ARMOLTIP è il prezzo vecchio e liprezzo è il prezzo aggiornato.

    Spero di essere stato + chiaro.
    Grazie per le vs. risposte.

  5. #5
    Allora.

    Credo di avere trovato l'errore nella tua query (non l'ho testato, ma dovrebbe funzionare).
    prova così:

    Codice PHP:
    UPDATE variazioniprezzi
    SET
    prezzi
    .liprezzo '$liprezzo',
    variazioni.armoltip '$ARMOLTIP'
    WHERE prezzi.arcodart variazioni.ARCODART 
    Ad ogni modo, io non userei questo metodo, ma salverei nel server una stored procedure.
    La query punta alla colonna di origine. La SP invece, al cambiamento della colonna di origine, si impegna a modificare anche l'altra.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Purtroppo non ha funzionato..

  7. #7

    Fatto..

    trovata la soluzione.

    Codice PHP:

    UPDATE variazioni  
    SET variazioni
    .ARMOLTIP=(select liprezzo from prezzi 
    where prezzi
    .arcodart=  variazioni.ARCODART

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.