Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: SQL sposta e cancella

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2019
    Messaggi
    62

    SQL sposta e cancella

    Salve a tutti, vorrei sapere se è possibile unire due diverse SQL che, separatamente, mi gestiscono dei record (di una stessa tabella) nel senso di spostare il record in una nuova tabella e poi, con un'altra azione, di cancellarlo dalla vecchia tabella: in pratica vorrei che la duplice azione diventasse un solo "sposta e cancella" che opera in due diverse tabelle. Diventerebbe troppo complessa come SQL?
    Specifico che il valore ModID mi recupera l'ID del record.

    Posto le due SQL

    SPOSTAMENTO:
    codice:
    querysql=" INSERT INTO negativi ([id], [data], [cognome], [nome], [luogo], [data_nascita], [tel], [data_posit], [ind_quar], [localita], [conviventi], [note], [note2], [email], [ritiro]) SELECT [id], [data], [cognome], [nome], [luogo], [data_nascita], [tel], [data_posit], [ind_quar], [localita], [conviventi], [note], [note2], [email], [ritiro] from positivi WHERE positivi.id =" & ModID
    CANCELLA
    codice:
    querysql="delete * from positivi where id =" & ModID

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    non hai specificato quale database usi,
    l'uso delle parentesi quadre per definire le colonne, mi fa pensare ad MS SQl,
    se fosse vero, ti posto la query (semplice) che uso per spostare record tra 2 tabelle
    codice:
    DELETE FROM tabella1
    OUTPUT DELETED.*
    INTO tabella2
    WHERE year=2021

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2019
    Messaggi
    62
    Oh chiedo scusa: ms Access.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2019
    Messaggi
    62
    Quote Originariamente inviata da marino51 Visualizza il messaggio
    non hai specificato quale database usi,
    l'uso delle parentesi quadre per definire le colonne, mi fa pensare ad MS SQl,
    se fosse vero, ti posto la query (semplice) che uso per spostare record tra 2 tabelle
    codice:
    DELETE FROM tabella1
    OUTPUT DELETED.*
    INTO tabella2
    WHERE year=2021
    Oh chiedo scusa: ms Access.
    Cioè questa query sposta i record ma non cancella il record primario

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    la query funziona sicuramente su ms sql, non so su access

    la query trasferisce (muove) i record dalla tabella1 alla tabella2
    ho usato * per le colonne perché le tabelle sono uguali
    mentre con la clausola where si può trasferire una selezione dei record

    al termine dell'operazione, la tabella1 non conterrà più i record perché cancellati, mentre gli stessi record si troveranno nella tabella2

    vedi se puoi applicarla con access

  6. #6
    per access devi usare due comandi SQL.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2019
    Messaggi
    62
    Quote Originariamente inviata da optime Visualizza il messaggio
    per access devi usare due comandi SQL.
    Potresti esser più chiaro, per favore ? Esiste una tabella di conversione dei comandi nei due linguaggi ? Grazie

  8. #8
    SQL non è uguale per tutti: ci sono dei comandi base, poi ogni db hai delle estensioni e delle particolarità. La parte "OUTPUT DELETED..." del comando suggerito da marino51 semplicemente non esiste in Access

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2019
    Messaggi
    62
    Quote Originariamente inviata da optime Visualizza il messaggio
    SQL non è uguale per tutti: ci sono dei comandi base, poi ogni db hai delle estensioni e delle particolarità. La parte "OUTPUT DELETED..." del comando suggerito da marino51 semplicemente non esiste in Access
    Esiste una tabella di conversione/uguaglianza dei comandi? Oppure dovrei usare dei comandi, riformulando la mia sql, che in un qualche modo agiscano come "OUTPUT DELETED" ?

  10. #10
    allora, forse non te l'ho detto, ma quel comando non esiste l'unica è fare due query
    per le differenze, chi meglio di microsoft? https://support.microsoft.com/en-us/...f-14a5eb7902c8

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.