Elenco tabelle su SQL2000

venerdì 25 agosto 2006 - 09.25

secks Profilo | Senior Member

Lavoro con VB.NET 2003 e SQL2000.
Avrei la necessità con una query di avere l'elenco delle tabelle presenti in un database.
Da dove posso partire?

Ciao a tutti e grazie.
Paolo.

Ho trovato, grazie.

SELECT * FROM sysobjects WHERE (xtype = 'U')

lbenaglia Profilo | Guru

>Lavoro con VB.NET 2003 e SQL2000.
>Avrei la necessità con una query di avere l'elenco delle tabelle
>presenti in un database.
>Da dove posso partire?

Ciao Paolo,

SQL Server 2000 offre la possibilità di leggere i metadati senza la necessità di accedere alle tabelle di sistema ricorrendo alle Information Schema Views.
Le Information Schema Views aderiscono allo standard ANSI SQL-92 e permettono alle applicazioni di funzionare correttamente anche nel caso in cui le tabelle di sistema subiscano notevoli modifiche (per esempio dovute all'installazione di un service pack).

Nel tuo caso puoi ricorrere alla Information Schema View TABLES:

USE Northwind; GO SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'; GO /* Output: TABLE_NAME ---------------------- Categories CustomerCustomerDemo CustomerDemographics Customers dtproperties Employees EmployeeTerritories Order Details Orders Products Region Shippers Suppliers Territories TestMoney (15 row(s) affected) */

Nel caso tu volessi recuperare solo le tabelle definite dall'utente, puoi modificare la query nel seguente modo:

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND OBJECTPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), N'IsUserTable') = 1 AND OBJECTPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), N'IsMSShipped') = 0; GO /* Output: TABLE_NAME ---------------------- Categories CustomerCustomerDemo CustomerDemographics Customers Employees EmployeeTerritories Order Details Orders Products Region Shippers Suppliers Territories TestMoney (14 row(s) affected) */

Per maggiori dettagli consulta i Books Online:

"Information Schema Views"
http://msdn.microsoft.com/library/en-us/tsqlref/ts_ia-iz_4pbn.asp

"TABLES"
http://msdn.microsoft.com/library/en-us/tsqlref/ts_ia-iz_56lv.asp

>Ciao a tutti e grazie.
Prego.

Ciao!

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

secks Profilo | Senior Member

Come sempre, molto gentile.
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5