Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    205

    salvare dati da store procedure in tab temporanea

    Ciao
    avrei la necessità di salvare i valori generati da una storeprocedure in una tabella temporanea..E' possibile?

    Nella store c'è una select che ritorna un codice articolo e su questo codice articolo poi viene fatta una nuova selezione che ritorna la giacenza

    Quindi la tab finale dovrebbe avere come colonne
    codice articolo - giacenza

    GRAZIE

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Se sapessimo (come da regolamento) di che database si sta parlando....

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    205
    scusa sql2005

  4. #4
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Fammi capire meglio ...
    La prima select ti ritorna UN SOLO codice articolo (1 record) ? oppure ti ritorna una tabella di codici articolo ?
    Non hai la possibilità di ottenere subito il risultato finale (magari con una join fra tabelle o cose simili) ?
    Se la prima select ti ritorna una lista di record potresti definire all'interno della tua stored procedure una tabella temporanea (vedi qui: http://www.sqlteam.com/article/temporary-tables ) scorrere la lista dei codici articolo con un cursore, ottenere la giacenza ed inserire i dati nella tabella temporanea; alla fine della stored fai un select * from tabella_temp

    Prova a mettere la struttura delle tabelle, mi sembra strano che non si possa fare tutto con una sola query ed una join...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    205
    la bozza della store procedure è così:

    ALTER PROCEDURE [dbo].[LITABVERIFICAGIACENZA_INSERT] (@Codarticolo VarChar(50), @codlotto VarChar(50),@giacenza decimal(38,6), @datamodificalotto datetime, @Utente VarChar(25)) AS

    CREATE TABLE #listalotti (
    [CODARTICOLO] [VARCHAR] (50) ,
    [CODLOTTO] [VARCHAR] (15) ,
    [GIACENZA] [DECIMAL](38,6) ,
    [DATAMODIFICALOTTO] [datetime] ,
    [DATAMODIFICA] [datetime] NOT NULL ,
    [UTENTEMODIFICA] [varchar] (50) NOT NULL
    )

    BEGIN
    SET @Codarticolo='aaaaaa'
    SELECT codlotto, datamodifica FROM ANAGRAFICALOTTI WHERE CODARTICOLO=@Codarticolo
    IF EXISTS (SELECT * FROM VISTAGIACENZEPARTITE WHERE CODARTICOLO=@Codarticolo)

    BEGIN
    INSERT INTO #listalotti ( Codarticolo, codlotto, giacenza, datamodificalotto, utentemodifica, datamodifica)
    VALUES ( @Codarticolo, @codlotto, @giacenza, @datamodificalotto, @Utente, GETDATE())
    END
    END;

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.