Hur ser en sql fråga ut som ska ta reda på hur många tabeller en databas innehåller, jag vet att man måste fråga system tabellen men vet inte syntaxen ? En intressant fråga som jag grävde lite i och kom fram till följande lilla sats. Observera att man då även får tabellen dtproperties räknad (det är den som innehåller information om diagram), vilken kanske inte ska räknas som en tabell man har.Sql fråga till Systemtabellen ?
/JohanSv: Sql fråga till Systemtabellen ?
select count(*)
from sysobjects
where sysobjects.type = 'U'
U:et står för UserTables men du kan få reda på antal andra objekt om du vill.
P = Stored Procedure
V = View
X = extended storde procedure.
Inte för att jag har en aning om vad du vill ha detta till men jag hoppas att det gav något svar.Sv: Sql fråga till Systemtabellen ?
Dessutom rekommenderar Microsoft att man inte använder systemtabellerna i sin applikation, eftersom de inte garanterar att de kommer att vara likadana i kommande versioner av SQL Server. Istället vill de att man använder de olika INFORMATION_SCHEMA vyerna, vilka garanteras vara bakåtkompatibla. Dessa innehåller dock långt ifrån allt från systemtabellerna, och personligen har jag nästan aldrig tittat i dem. :)
Så här skulle frågan se ut om man dock använde dem (även här räknas dtproperties):
select count(*) from information_schema.tables where table_type = 'BASE TABLE'