Creazione vista da Stored Procedure

martedì 27 giugno 2006 - 12.13

rewinc Profilo | Newbie

Ciao a tutti,
avrei la necessità di creare una stored procedure che (prendendo dati da una form asp.net) mi crei un vista o la modifichi (se già esistente).
Il nome della vista lo passo come parametro di input della stored procedure insieme ad altri parametri che andranno a comporre la where clause.
Utilizzando l'istruzione ALTER VIEW @nomevista AS (SELECT * FROM tabella WHERE ID=@ID AND nome=@nome) o analogamente CREATE VIEW, mi dà errore in corrispodenza della parola chiave VIEW.
C'è qualche operazione non consentita che mi sfugge?
Ciao.
Vincenzo.

lbenaglia Profilo | Guru

>avrei la necessità di creare una stored procedure che (prendendo
>dati da una form asp.net) mi crei un vista o la modifichi (se
>già esistente).

Ciao Vincenzo,

gli oggetti di un database andrebbero creati da un DBA e modificati solo a fronte di modifiche dei requisiti.
Mi spieghi da dove nasce una richiesta così singolare?

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

rewinc Profilo | Newbie

Certo Lorenzo!
ho la necessità di stampare dei documenti da dati raccolti da una form asp.net;
poichè la stampa web non è affidabile, una mia amica ha creato dei templates word.
La mia idea è quella di usare la stampa unione word in automatico(con macro) dal client che vada a prendere i dati sempre dalla medesima vista, modificata di volta in volta nella parte relativa alla clausola where (i cui parametri saranno dati dalla selezione fatta nella form).
Spero di essermi spiegato.
Ciao.
PS:Sono consapevole che a livello di performance la soluzione è da galera, ma non me ne sono venute in mente altre!

lbenaglia Profilo | Guru

>Ma se devi fare questa cosa ovvero cambiare solo la where allora
>devi usare solamente una stored procedure dove nella where metti
>il parametro di input!

In alternativa al suggerimento di Marco puoi definire una user-defined function table-valued parametrica.
A titolo di esempio leggi il seguente post:
http://groups.google.it/group/microsoft.public.it.sql/msg/3e53fd962e8c91e8

Ciao!

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

rewinc Profilo | Newbie

ciao ragazzi,
non ho potuto utilizzare totalmenete le vostre proposte, ma vi ringrazio per le risposte perchè mi hanno illuminato.
Descrivo la soluzione finale...potrebbe essere utile a qualcun'altro.
Prendendo i dati dal template word non mi era possibile creare un'origine dati parametrizzata (non so se x mia mancanza di conoscenza), inoltre poteva servirmi tener traccia dell'ultima selezione effettuata. Quindi ho creato una tabella 'SELEZIONE' in cui ho messo tutti i parametri che mi servono(eventualmente espandibile x necessità future) che viene popolata dal SAVE della form. Poi ho fatto una join tra questa e la vista (ottenendo un'ulteriore vista filtrata)che volevo filtrare ed ho ottenuto l'unico record che mi serviva da unire al documento word.Ora faccio un po' di test.
Ciao a tutti e grazie ancora!
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5