Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Problema con la INSERT

  1. #1
    Utente di HTML.it L'avatar di JAEP
    Registrato dal
    Jan 2004
    residenza
    Treviso
    Messaggi
    421

    Problema con la INSERT

    Salve a tutti,

    Ho provato ad impostare questa stored procedure

    codice:
    ALTER  PROCEDURE NuovoProgetto
    (
    @Nome varchar(50),
    @Descrizione varchar(200),
    @DataInizio datetime,
    @DataTermine datetime,
    @Importo money,
    @CodFiscRef char(16)
    )
    
    AS
    INSERT INTO PROGETTO(Nome,Descrizione,DataInizio,DataTermine,Importo,CodFiscRef)
    VALUES(@Nome,@Descrizione,@DataInizio,@DataTermine,@Importo,
    (Select CodFisc FROM REFERENTE WHERE CodFisc=@CodFiscRef))
    Ma mi viene restituito il seguente errore:
    In questo contesto sono consentite solo espressioni scalari, non subquery.

    Come posso fare? Il mio problema è che voglio trovare una soluzione che mi eviti di chiamare due stored procedure separate (una per la Select e l'altra per la Insert).
    Grazie
    Tutte le leggi umane, non quelle divine, sono il risultato di uno sforzo di uomini. Altri uomini vengono, modificano, aboliscono, perfezionano. Non ci vuole nulla ad abolire. Distruggere è facile, ma ricostruire è difficile.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    262
    perchè non ti assegni il risultato della query ad una variabile locale e dopo fai la Insert e ci passi la variabile ?

  3. #3
    Utente di HTML.it L'avatar di JAEP
    Registrato dal
    Jan 2004
    residenza
    Treviso
    Messaggi
    421
    Originariamente inviato da iperuber
    perchè non ti assegni il risultato della query ad una variabile locale e dopo fai la Insert e ci passi la variabile ?
    Toro dopo qualche giorno di convalescenza....

    Come posso dichiarare ed assegnare un valore ad una variabile locale all'interno di una stored procedure?
    Tutte le leggi umane, non quelle divine, sono il risultato di uno sforzo di uomini. Altri uomini vengono, modificano, aboliscono, perfezionano. Non ci vuole nulla ad abolire. Distruggere è facile, ma ricostruire è difficile.

  4. #4
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    basta fare


    INSERT INTO PROGETTO(Nome,Descrizione,DataInizio,DataTermine,I mporto,CodFiscRef)
    SELECT (@Nome, @Descrizione, @DataInizio, @DataTermine,@Importo,
    CodFisc FROM REFERENTE WHERE CodFisc=@CodFiscRef)
    Tutti vogliono parlare, nessuno sa ascoltare.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    262
    io generalmente faccio così
    ...
    AS
    BEGIN
    ...
    declare @ID_Studente integer
    ...
    SELECT @ID_Studente = ID_Studente FROM Studente WHERE username = @username
    ...
    INSERT INTO Studente_propone_Progetto
    VALUES ( @ID_Studente, @ID_Progetto, @dataProposta )
    ...
    END

    Questi sono pezzi di un'unica stored procedure funzionante!!!
    Adattala al caso tuo.


  6. #6
    Utente di HTML.it L'avatar di JAEP
    Registrato dal
    Jan 2004
    residenza
    Treviso
    Messaggi
    421
    Grazie
    Tutte le leggi umane, non quelle divine, sono il risultato di uno sforzo di uomini. Altri uomini vengono, modificano, aboliscono, perfezionano. Non ci vuole nulla ad abolire. Distruggere è facile, ma ricostruire è difficile.

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.