>>Aspetta stai dicendo che le soluzioni potrebbero:
>>
>>la prima è che in sql server scrivo tante stored in base alla
>>mie esigenze e le richiamo a seconda di quelle che mi servono
>>da vb (ma così però mi andrei a ritrovare sotto l'apposita cartella
>>di sql tantissime stored)
>E quindi?
giustamente te dici qual'è il problema ad avere tantissime stored sotto sql l'importante è fare la cosa giusta, mi per caso c'è la possibilità di creare sotto la cartella stored procedure in sql management una sottocartella nella quale vi salvo le stored in base alla loro natura, ossia esempio una cartella stampa dove all'interno trovo le stored che mi servono per creare le stamep in mdo tale che diventa tutto + leggibile ed ordinato.
>>la seconda è che creo 1 stored e gestisco bene la where come
>>mi hai fatto vedere te e marcello, al massimo potrei creare 2
>>o 3 stored distinte, al loro interno gestire bene la where e,
>>richiamarle poi da vb...
>>
>>o sbaglio?
>Se con "gestire bene" ti riferisci alle 2 soluzioni proposte,
>allora va bene.
>
>>scusami se ti pongo queste domande ma ho letto diversi libri
>>di sql ma i dubbi mi vengono sempre, voglio sempre avere il miglior
>>codice possibile per avere ottimi risultati e prestazioni...
>Allora sei sul forum giusto
GRANDEEEEE!!!!! :)
ah quando ti parlavo di un'unica stored e all'interno diversi parametri mi riferivo ad una cosa dele genere per esempio:
CREATE PROCEDURE [dbo].[GetAlb_5_new]
(
@NomeStruttura Varchar(250)=Null,
@TypeSearch Int,
@codcomune Int=0
)
AS
If @TypeSearch=0
BEGIN
SELECT
IsNull(alb.codalb,'0') As codalb,
IsNull(alb.descrizione,'NESSUNA STRUTTURA') As Nome_Struttura,
alb.Citta,
alb.codcomune,
IsNull(dep.coddep,'0')as coddep,
IsNull(dep.descrizione,'')as descrizione_dep,
IsNull(dep.citta,'')as Citta_dep,
IsNull(dep.codcomune,'0')as codcomune
FROM dbo.albergo as alb
full join dbo.dependance as dep
on alb.coddependance=dep.coddep and alb.codcomune=dep.codcomune
Order By alb.CodComune,alb.Codcategoria,alb.Descrizione
END
If @TypeSearch=1
BEGIN
SELECT
IsNull(alb.codalb,'0') As codalb,
IsNull(alb.descrizione,'NESSUNA STRUTTURA') As Nome_Struttura,
alb.Citta,
alb.codcomune,
IsNull(dep.coddep,'0')as coddep,
IsNull(dep.descrizione,'')as descrizione_dep,
IsNull(dep.citta,'')as Citta_dep,
IsNull(dep.codcomune,'0')as codcomune
FROM dbo.albergo as alb
full join dbo.dependance as dep
on alb.coddependance=dep.coddep and alb.codcomune=dep.codcomune
Where alb.Descrizione like '%' + @NomeStruttura + '%'
Order By alb.codcomune,alb.Codcategoria,alb.Descrizione
END
END
ossia in base al parametro che passo da vb alla fine all'interno della stored stabilisco se eseguire una parte di codice oppure l'altro...
Questo metodo è errato? secondo quello detto nei post precedenti dovrei scrivere 2 stored oppure gestire 1 sola stored ma migliore la sintassi della Where...
Ma secondo te utilizzare le If come ho fatto in questo esempio è errato da un punto di vista di prestazioni?
ciao
>
>Ciao!
>--
>Lorenzo Benaglia
>Microsoft MVP - SQL Server
>http://blogs.dotnethell.it/lorenzo/
>http://italy.mvps.org
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com