SELECT * FROM SYSINDEXES
Veritabanı tabloları primary Key´leri, kapladığı alan, toplam alanda kullandığı miktarları, satır sayılarını vs. gibi bir çok bilgiyi içerir.
Örnekler :
SELECT NAME,ROWCNT FROM SYSINDEXES WHERE IMPID=-1
Bize Tablo isimlerini ve içerdikleri satır sayılarını verecektir. Sanırım en çok kullanılacak olan budur.
Burda bir parantez açmak istiyorum hemen,Eğer bir tablonun varlığını kontrol etmek istiyorsanız,
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
kullanmanızı tavsiye ederim.
Select * From SYSINDEXES ile, kullanabileceğiniz diğer SYSTEM tablolarını görebilirsiniz.
Bunlardan bazıları:
select * from syscolumns : Bütün sütunları ve sütun özelliklerini verir. Pek kullanışlı değildir.
select * from sysfiles : Veritabanınızın FileSystemde kullandığı dosyaları listeler.
select * from sysusers : Veritabanına atanmış kullanıcıları, oluşturma ve update tarihlerini, yetkileri ve parolalarını(!) listeler.
select * from syscomments where compressed=1 : Veritabanında oluşturulmuş, VIEW,PROCEDURE,TRIGGER ... listesini ve özelliklerini verir.
Sonuç :
select NAME from sysindexes where name like ´sys%´
ile sistem tablolarının listesini görmenizi ve teker teker bunları select ederek, neler döndürdüğünü görmenizi tavsiye ederim. Bu tabloları birbirlerine JOIN ederek, çok değişik sonuçlar dönebilirsiniz. En azından temel olarak ne tür bilgilerin bu tablolardan sorgulandığını aklınızın bir köşesinde bulundurursanız, ileride sizi çok zahmetten kurtaracak, bana da dua edeceksiniz diye umuyorum.
|