INFORMATION_SCHEMA.VIEWS
La Vista di sistema INFORMATION_SCHEMA.VIEWS è presente in tutti i Database creati in SQl Server 2005.
Fornisce un'elenco delle Viste presenti sul database, con
Contiene i campi
TABLE_CATALOG (nvarchar(128), NULL)
TABLE_SCHEMA ((nvarchar(128)), NULL)
TABLE_NAME (sysname(nvarchar(128)), NOT NULL)
VIEW_DEFINITION (nvarchar(4000), NULL)
CHECK_OPTION (varchar(7), NULL)
IS_UPDATABLE (varchar(2), NOT NULL)
TABLE_CATALOG contiene il nome del Database in cui la Vista è contenuta;
TABLE_SCHEMA contiene il nome dello Schema in cui la Vista è contenuta;
TABLE_NAME contiene in nome della Vista
VIEW_DEFINITION contiene NULL se lo script di creazione della Vista è costituito da più di 4000 caratteri, altrimenti contiene lo script di creazione della Vista.
CHECK_OPTION contiene CASCADE se la Vista è stata creata usando il WITH CHECK OPTION, altrimenti contiene NONE
IS_UPDATABLE specifica se la Vista è aggiornabile. Riporta sempre il valore NO.
Se faccio
Use Prova
Go
CREATE VIEW dbo.VW_ImpiegatiLavori AS SELECT dbo.impiegati.*, dbo.lavori.lavoro, dbo.lavori.dataini, dbo.lavori.datafin FROM dbo.impiegati INNER JOIN dbo.lavori ON dbo.impiegati.codice = dbo.lavori.codice AND dbo.impiegati.reparto = dbo.lavori.reparto
Go
SELECT * FROM INFORMATION_SCHEMA.VIEWS
Il result set nel mio Database di prova è:
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE
prova dbo VW_ImpiegatiLavori (*) NONE NO
(*) CREATE VIEW dbo.VW_ImpiegatiLavori AS SELECT dbo.impiegati.*, dbo.lavori.lavoro, dbo.lavori.dataini, dbo.lavori.datafin FROM dbo.impiegati INNER JOIN dbo.lavori ON dbo.impiegati.codice = dbo.lavori.codice AND dbo.impiegati.reparto = dbo.lavori.reparto
Se invece faccio
Use Prova
Go
CREATE VIEW dbo.VW_ImpiegatiLavori AS SELECT dbo.impiegati.*, dbo.lavori.lavoro, dbo.lavori.dataini, dbo.lavori.datafin FROM dbo.impiegati INNER JOIN dbo.lavori ON dbo.impiegati.codice = dbo.lavori.codice AND dbo.impiegati.reparto = dbo.lavori.reparto
WITH CHECK OPTION
Go
SELECT * FROM INFORMATION_SCHEMA.VIEWS
Il result set nel mio Database di prova è:
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE
prova dbo VW_ImpiegatiLavori (*) CASCADE NO
(*) CREATE VIEW dbo.VW_ImpiegatiLavori AS SELECT dbo.impiegati.*, dbo.lavori.lavoro, dbo.lavori.dataini, dbo.lavori.datafin FROM dbo.impiegati INNER JOIN dbo.lavori ON dbo.impiegati.codice = dbo.lavori.codice AND dbo.impiegati.reparto = dbo.lavori.reparto
WITH CHECK OPTION
L'opzione WITH CHECK OPTION Impone a tutte le istruzioni di modifica dei dati eseguite sulla vista di soddisfare i criteri impostati nell'argomento select_statement. Quando una riga viene modificata tramite una vista, la clausola assicura che i dati rimangano visibili nella vista dopo il commit della modifica.
giovedì, 07 dic 2006 Ore. 11.15