Gestione select con variabile dichiarata

lunedì 07 luglio 2008 - 13.01

trinity Profilo | Guru

ciao ragazzi,

ho una stored all'interno della quale c'è la seguente select:
DECLARE @progschedina int select @progschedina=max(prog_schedina) FROM archivio_mov WHERE Codalbergo=@Codalbergo AND codcomalb=@CodComAlbergo


successivamente continuando con il codice stored io creao una tabella temp e la popolo di record...
successivamente ancora eseguo una una insert to select ossia la seguente:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

solo che io dovrei aggiungere un campo nella tabella archivio_mov ossia il campo_ prog_schedina e questo però deve essere popolato dal valore della variabile @progschedina o poi gli altri campi della tabella devo essere popolati dall'insert to select...

In altre parole dovrebbe uscire una cosa del genere:


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

ma so che non funziona, come posso fare?

Grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

lbenaglia Profilo | Guru

>@progschedina,
>Select codalbergo,codcomalb,...

Modifica quelle due righe in:

INSERT INTO... SELECT @progschedina, codalbergo, codcomalb...

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

trinity Profilo | Guru

aspe così non mi funziona

perchè se eseguo la insert mi dice che c'è un varole duplicato io ho scritto così:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

lbenaglia Profilo | Guru

>aspe così non mi funziona
>
>perchè se eseguo la insert mi dice che c'è un varole duplicato
>io ho scritto così:
Hai scritto bene, si vede che stai violando la PK, ma questo è un altro problema...

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

trinity Profilo | Guru

Aspe la tabella è la seguente:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

io spesso devo riscrivere dei record simili che gia sono presenti in archivio con una prog_schedina diverso allora per evitare di duplicare la chiave ho pensato di ricavare il massimo del prog_schedina salvato e aumentarlo di 1...

solo che non mi funge
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

lbenaglia Profilo | Guru

>solo che non mi funge
E cosa vuoi che ti dica? Stai violando la PK.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

trinity Profilo | Guru

Ho risolto aggiungendo una colonna identity
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5