Perché SQL Server insiste che la tabella temporanea esiste già! l'uno o l'altro accadrà !! , quindi non sarà mai il caso.Utilizzo di tabelle temporanee in IF .. Istruzioni ELSE
declare @checkvar varchar(10)
declare @tbl TABLE(colx varchar(10))
set @checkvar ='a'
INSERT INTO @tbl (colx) VALUES('a')
INSERT INTO @tbl (colx) VALUES('b')
INSERT INTO @tbl (colx) VALUES('c')
INSERT INTO @tbl (colx) VALUES('d')
IF @checkvar is null select colx INTO #temp1 FROM @tbl
ELSE select colx INTO #temp1 FROM @tbl WHERE colx [email protected]
errore: esiste già un oggetto denominato "# temp1" nel database.
C'è un modo elegante intorno a questo? se @checkvar è nullo, voglio l'intera tabella altrimenti, dammi solo i valori in cui @checkvar = qualcosa
EDIT: la colonna è un varchar, non un int.
Ok. Ho cambiato il mio suggerimento –