Query inserimento

di il
4 risposte

Query inserimento

Ho una tabella in cui devo inserire dei dati di altra tabella.
ho provato cosi:
Insert into tabA (campo1,campo2)
from
select (campo1,campo2
from tabB

il problema è che mi da errore perche' nella tabella di destinazione
ho un campo ID chiave primario int.
Mi da errore dicendo che non si puo inserire il record perche il campo ID non puo essere vuoto.-
che devo fare???

4 Risposte

  • Re: Query inserimento

    Ovviamente per definizione un campo chiave non può essere nullo.
    Se quel campo ID non lo puoi rimuovere sostituendo la chiave, lo devi alimentare per forza.
  • Re: Query inserimento

    A parte la questione dell'ID la sintassi che hai scritto mi sembra strana.

    Prova con:
    Insert into tabA (campo1,campo2) SELECT campo1,campo2 from tabB

    La sintassi ANSI è:
    INSERT INTO Tabella [ ( ListaColonne ) ] SelectQuery
    Dove:
    Tabella: è il nome della tabella (o vista aggiornabile) da alimentare;
    ListaColonne: è la lista delle colonne separate da virgola che devono essere alimentate;
    SelectQuery: è l’interrogazione il cui risultato alimenterà la tabella.
  • Re: Query inserimento

    Salve, è la prima volta che sto utilizzando sql e inizio a fare delle prove. Vi chiedo un aiuto per la seguente query che il sistema mi da errore e non capisco dove sbaglio nella sintassi, sto leggendo un libro e seguendo alla lettera le istruzioni:
    dapprima ho creato la :
    tabella studenti
    nome char(15)
    cognome char(15)
    classe smallint
    sezione char(1)
    annonascita smallint

    utilizzando la query per popolare la tabella

    insert into studenti
    ("MARIO", "ROSSI", "3", "A", "1974",
    "FRANCO", "BIANCHI", "4", "A", "1973"
    "SARA", "VERDI", "5", "B", "1972");

    Eseguendo la query mi da ERRORE: SIntassi non corretta in prossimità di ";"

    Ho risolto inserendo i dati direttamente nella tabella, ma dove sbaglio?

    Altro caso:

    Select nome, cognome
    from studenti
    where sezione ="A";

    Eseguendo la query:
    Errore: Il nome della colonna "A" non è valido.

    Mi aiutate a capire.

    Grazie


    USo SQL Server Management Studio Express
  • Re: Query inserimento

    Ma perché hai risposto in questo thread? Dovresti usare un nuovo thread e non rispondere ad un thread del 2013 ...

    In ogni caso, per la prima parte deve essere

    INSERT INTO Studenti VALUES
    ('MARIO', 'ROSSI', 3, 'A', 1974),
    ('FRANCO', 'BIANCHI', 4, 'A', 1973),
    ('SARA', 'VERDI', 5, 'B', 1972);

    e per la seconda

    SELECT nome, cognome
    FROM Studenti
    WHERE sezione = 'A';
Devi accedere o registrarti per scrivere nel forum
4 risposte