1401/09/16

نوتیف

دنیایی رو به دانش و آگاهی

نحوه بدست آوردن لیست تمامی جدول های پایگاه داده در اس کیو ال سرور

1 min read

sqlServer

می توان برای بدست آوردن لیست تمامی جداول موجود در یک پایگاه داده در سیستم مدیریت پایگاه داده مایکروسافت اس کیو ال سرور از راههای متفاوتی استفاده کرد. در زیر برخی از مهمترین و بهترین روش ها ذکر شده است:

در نسخه های 2005 تا 2012

SELECT * FROM INFORMATION_SCHEMA.TABLES

همچنین اگر بخواهیم یک نوع خاص از جداول را بر گردانیم می توانیم از عبارت Where در دستور استفاده کنیم. به مثال زیر دقت کنید:

SELECT * FROM information_schema.tables
where TABLE_TYPE = 'BASE TABLE'

نسخه 2000

SELECT * FROM sysobjects WHERE xtype='U'

استفاده از قطعه کد زیر تنها نام جداول را بر می گرداند:

SELECT sobjects.name
FROM sysobjects sobjects
WHERE sobjects.xtype = 'U'

همینطور برای بدست آوردن لیست دیگر اشیاء می توانید به جای پارامتر U از پارامترهای زیر بنا به نوع مورد نظر استفاده کنید:

C: Check constraint
D: Default constraint
F: Foreign Key constraint
L: Log
P: Stored procedure
PK: Primary Key constraint
RF: Replication Filter stored procedure
S: System table
TR: Trigger
U: User table
UQ: Unique constraint
V: View
X: Extended stored procedure

قطعه کد زیر هم نام جدول ها را بر می گرداند

exec sp_msforeachtable 'print ''?'''

لیست جدول های خالی پایگاه داده

برای بدست آوردن لیست تمامی  جدول های خالی موجود در یک پایگاه داده در سیستم مدیریت پایگاه داده (DBMS) اس کیو ال سرور (SQL Server) می توانید از کد زیر استفاده کنید.

select a.rows as Rowcnt,
   b.name as Tbl_Name 
from sys.partitions a
join sys.tables b
   on a.object_id=b.object_id
where b.type='u' 
   and a.rows = 0

و در آخر هم کد زیر که بصورت بسیار جامع لیست و مشخصات همه ی جدول ها را بر می گرداند

USE YourDBName
GO 
SELECT *
FROM sys.Tables
GO

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *