138 messaggi dal 23 settembre 2003
che codice devo aggiungere per salvare questi comandi in una store
procedure (esempio p_inserimento) da richiamare??

grazie


DECLARE @AuthorLName varchar(40)
DECLARE @AuthorCity varchar(410)
DECLARE #AuthorsCursor CURSOR FOR
SELECT au_lname, city
FROM pubs.dbo.authors where contract in (select id from
tabella_esterna_prova)
ORDER BY
au_lname

OPEN #AuthorsCursor

FETCH NEXT FROM #AuthorsCursor
INTO @AuthorLName, @AuthorCity
WHILE @@FETCH_STATUS = 0
BEGIN
insert into tabella_inserimento_prova (nome, citta) values
(@AuthorLName,@AuthorCity)
PRINT @AuthorLName
PRINT @AuthorCity
PRINT '-------------------'
FETCH NEXT FROM #AuthorsCursor
INTO @AuthorLName, @AuthorCity

END

CLOSE #AuthorsCursor

DEALLOCATE #AuthorsCursor
138 messaggi dal 23 settembre 2003
trovato: CREATE PROCEDURE p_inserimento as
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
Attenzione che se quello che hai indicato non è un codice di prova, è preferibile sostituire il tutto con

==================
insert into tabella_inserimento_prova (nome, citta)
SELECT au_lname, city
FROM pubs.dbo.authors where contract in (select id from
tabella_esterna_prova)
==================

ottenendo prestazioni di molto superiori (il tutto si risolve in una unica istruzione), una migliore leggibilità e, soprattutto, evitando l'utilizzo dei cursori che deve essere considerato come l'SQL dell'ultima spiaggia (e prima di arrivarci devi essere stra-certo che non esiste un'alternativa).

Bye
138 messaggi dal 23 settembre 2003
grazie

io pensavo che quella fosse la sintassi da usare nelle stored procedure (diversa dal linguaggio sql "normale"), forse ho unpo' di confusione

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.