Luca Bovo


Sql Server..... questo "sconosciuto"
Ora e Data
Calendario
aprile 2024
lmmgvsd
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
Mappa
Statistiche
  • Views Home Page: 55.846
  • Views Posts: 47.239
  • Views Gallerie: 888
  • n° Posts: 21
  • n° Commenti: 21

INFORMATION_SCHEMA.TABLES

La Vista di sistema INFORMATION_SCHEMA.TABLES è presente in tutti i Database creati in SQl Server 2005. Fornisce un'elenco delle Tabelle/Viste presenti sul database 
Contiene i campi

TABLE_CATALOG (nvarchar(128), NULL)
TABLE_SCHEMA (sysname(nvarchar(128)), NULL)
TABLE_NAME (sysname(nvarchar(128)), NOT NULL)
TABLE_TYPE (varchar(10), NULL)

TABLE_CATALOG contiene il nome del Database in cui la tabella/vista è contenuta;
TABLE_SCHEMA contiene il nome dello Schema in cui la tabella/vista è contenuta;
TABLE_NAME contiene in nome della tabella/vista
TABLE_TYPE contiene il valore BASE TABLE per le tabelle e VIEW per le viste

SELECT
* FROM INFORMATION_SCHEMA.TABLES
ORDER BY
 TABLE_TYPE, TABLE_NAME


Il result set nel mio Database di prova è:

TABLE_CATALOG     TABLE_SCHEMA                  TABLE_NAME              TABLE_TYPE
prova                      dbo                                    impiegati                   BASE TABLE
prova                      dbo                                    lavori                         BASE TABLE
prova                      dbo                                    presenze                    BASE TABLE
prova                      dbo                                    VW_ImpiegatiLavori   VIEW
 

 
Se faccio

CREATE SCHEMA Lavori
GO
ALTER
SCHEMA Lavori TRANSFER dbo.Lavori
GO
SELECT * FROM INFORMATION_SCHEMA.TABLES
ORDER BY
 TABLE_TYPE, TABLE_NAME
 

Il result set nel mio Database di prova diventa:

TABLE_CATALOG     TABLE_SCHEMA                  TABLE_NAME              TABLE_TYPE
prova                      dbo                                    impiegati                   BASE TABLE
prova                      Lavori                                 lavori                        BASE TABLE
prova                      dbo                                    presenze                    BASE TABLE
prova                      dbo                                    VW_ImpiegatiLavori   VIEW


La Vista INFORMATION_SCHEMA.TABLES serve per controllare se una Tabella o Vista è presente su un Database per un determinato Schema. Lo statement è

IF
EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'Lavori'
AND TABLE_SCHEMA = 'Lavori')
DROP TABLE Lavori.Lavori;
CREATE TABLE Lavori.Lavori
(
codice
int NOT NULL,
rep
int NOT NULL,
datainizio datetime,
datafine, datetime
PRIMARY KEY (codice, rep)
);
venerdì, 01 dic 2006 Ore. 15.17
My transcript

Transcript ID 675419
Access code Ivrea130




Archivio Posts
Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003