INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
La Vista di sistema INFORMATION_SCHEMA.VIEW_COLUMN_USAGE ritorna una riga per ogni colonna utilizzata in una Vista per ogni oggetto su cui l'utente collegato in quel momento ha diritti.Contiene i campi
VIEW_CATALOG (nvarchar(128), NULL)
VIEW_SCHEMA (nvarchar(128), NULL)
VIEW_NAME (sysname(nvarchar(128)), NOT NULL)
TABLE_CATALOG (nvarchar(128), NULL)
TABLE_SCHEMA (nvarchar(128), NULL)
TABLE_NAME (sysname(nvarchar(128)), NOT NULL)
COLUMN_NAME (sysname(nvarchar(128)), NOT NULL)
VIEW_CATALOG Contiene il nome del Database in cui la Vista è contenuta
VIEW_SCHEMA Contiene il nome dello Schema in cui la Vista è contenuta
VIEW_NAME Contiene il nome della Vista
TABLE_CATALOG Contiene il nome del Database in cui è contenuta la Tabella che è parte della Vista
TABLE_SCHEMA Contiene il nome dello Schema in cui è contenuta la Tabella che è parte della Vista
TABLE_NAME Contiene il nome della Tabella che è parte della Vista
COLUMN_NAME Contiene il nome della Colonna che è esposta dalla Vista
Sul mio Database di Prova
USE [Prova]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Mansione](
[IdMansione] [int] IDENTITY(1,1) NOT NULL,
[vcCodMansione] [varchar](3) COLLATE Latin1_General_CI_AS NOT NULL,
[vcMansione] [varchar](100) COLLATE Latin1_General_CI_AS NOT NULL,
PRIMARY KEY CLUSTERED
(
[IdMansione] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
USE [Prova]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Impiegato](
[IdImpiegato] [int] IDENTITY(1,1) NOT NULL,
[IdMansione] [int] NULL,
[vcNomeImpiegato] [varchar](50) COLLATE Latin1_General_CI_AS NOT NULL,
[vcCognomeImpiegato] [varchar](100) COLLATE Latin1_General_CI_AS NOT NULL,
[vcIndirizzo] [varchar](255) COLLATE Latin1_General_CI_AS NULL,
PRIMARY KEY CLUSTERED
(
[IdImpiegato] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[Impiegato] WITH NOCHECK ADD CONSTRAINT [FK_Impiegato_Mansione] FOREIGN KEY([IdMansione])
REFERENCES [dbo].[Mansione] ([IdMansione])
ON UPDATE CASCADE
ON DELETE CASCADE
NOT FOR REPLICATION
GO
ALTER TABLE [dbo].[Impiegato] CHECK CONSTRAINT [FK_Impiegato_Mansione]
USE [Prova]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[VW_ImpiegatoMansione] AS
SELECT Impiegato.*, Mansione.vcCodMansione, Mansione.vcMansione
FROM Impiegato INNER JOIN Mansione ON Impiegato.IdMansione = Mansione.IdMansione
GO
SELECT * FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
Il Result Set sarà
VIEW_CATALOG VIEW_SCHEMA VIEW_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME
prova dbo VW_ImpiegatoMansione prova dbo Mansione IdMansione
prova dbo VW_ImpiegatoMansione prova dbo Mansione vcCodMansione
prova dbo VW_ImpiegatoMansione prova dbo Mansione vcMansione
prova dbo VW_ImpiegatoMansione prova dbo Impiegato IdImpiegato
prova dbo VW_ImpiegatoMansione prova dbo Impiegato IdMansione
prova dbo VW_ImpiegatoMansione prova dbo Impiegato vcNomeImpiegato
prova dbo VW_ImpiegatoMansione prova dbo Impiegato vcCognomeImpiegato
prova dbo VW_ImpiegatoMansione prova dbo Impiegato vcIndirizzo
(8 row(s) affected)
lunedì, 11 dic 2006 Ore. 08.52