Discussione:
[SQLServer] Viste con parametri
(troppo vecchio per rispondere)
yronium
2006-04-20 09:48:33 UTC
Permalink
Salve a tutti, spero di non tediare nessuno con una domanda fatta e rifatta,
ma ho effettuato una ricerca tra i post e non ho trovato nulla
sull'argomento.
Premetto anche che sono molto inesperto di SQL Server, e mi scuso in
anticipo per la niubbaggine.

Dunque vorrei realizzare una vista con un parametro, quella che in Access
viene definita query parametrica. Vorrei una vista che, dato un ID cliente,
mi restituisse i campi RagioneSociale, Indirizzo e Città dalla tabella
Clienti. Ho però letto su MSDN che le viste non supportano i parametri, e ho
trovato delle pagine correlate che parlavano delle funzioni inline. Gli
esempi nelle pagine - piuttosto complicati - includevano tutti il comando
CREATE. La mia domanda è: non dovrei creare la funzione soltanto la prima
volta, e salvarla nel db, per poi richiamarla negli usi successivi? E
inoltre: è l'unico sistema?
Insomma, mi sto avventurando in un terreno che non conosco, e sarò grato a
chiunque mi possa fornire informazioni utili.
Grazie a tutti in anticipo.


--------------------------------
Inviato via http://arianna.libero.it/usenet/
Lorenzo Benaglia
2006-04-20 09:57:14 UTC
Permalink
Post by yronium
Dunque vorrei realizzare una vista con un parametro, quella che in
Access viene definita query parametrica. Vorrei una vista che, dato
un ID cliente, mi restituisse i campi RagioneSociale, Indirizzo e
Città dalla tabella Clienti. Ho però letto su MSDN che le viste non
supportano i parametri, e ho trovato delle pagine correlate che
parlavano delle funzioni inline. Gli esempi nelle pagine - piuttosto
complicati - includevano tutti il comando CREATE.
Esatto, lo standard ANSI SQL-92 al quale SQL Server aderisce non prevede
viste parametriche.
Utilizzando una Inline Table-valued Function potrai ottenere un effetto
analogo alle Query parametriche di Access.
Post by yronium
non dovrei creare la funzione soltanto la prima volta, e salvarla nel
db, per poi richiamarla negli usi successivi?
Esatto. Il comando CREATE FUNCTION non fa altro che definire una nuova
funzione nel database. Una volta creata la funzione la puoi richiamare ad
esempio tramite SELECT tutte le volte che lo desideri. :-)
Post by yronium
E inoltre: è l'unico sistema?
Direi che è il sistema più simile alle Query parametriche che già conosci.
Potresti scrivere anche stored procedure parametriche che andrai ad eseguire
tramite il comando EXEC.

Ti allego un post che ti mostra come definire una Inline Table-valued
Function:
http://groups.google.it/group/microsoft.public.it.sql/msg/3e53fd962e8c91e8
Post by yronium
Grazie a tutti in anticipo.
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
yronium
2006-04-20 10:58:44 UTC
Permalink
[...CUT...]
Post by Lorenzo Benaglia
Ti allego un post che ti mostra come definire una Inline Table-valued
http://groups.google.it/group/microsoft.public.it.sql/msg/3e53fd962e8c91e8
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://italy.mvps.org
Ciao, Lorenzo, grazie per l'attenzione e la rapida risposta. Questa è la
seconda volta che mi fornisci un aiuto. Ho apprezzato la spiegazione, e ho
anche salvato il testo dell'esempio. Adesso provo subito a costruire la mia
funzione. Grazie ancora.

--------------------------------
Inviato via http://arianna.libero.it/usenet/

Continua a leggere su narkive:
Loading...