PDA

View Full Version : لیست جداول و تعداد رکورد انها در یک سلکت از کل دیتابیس



sm4899
شنبه 12 مهر 1393, 08:00 صبح
با سلام
جهت گرفتن لیست تیبیلهای موجود و تعداد رکورد انها از یک دیتابیس با یک دستور سالکت بطوری یک ستون نام جدول و ستون بعدی تعداد رکورد باشه

sm4899
شنبه 12 مهر 1393, 09:46 صبح
این دستور پیدا کردم در ستوت تعدا د خطا داره کسی میتونه اون اصلاح کنه ؟


select name, type_desc,type, count(*) from sys.objects where type='U'

مهرداد صفا
سه شنبه 15 مهر 1393, 09:52 صبح
سلام.
راه اول (سریع و منطقی تر):


SELECT tbl.name, ind.rows
FROM sys.tables AS tbl INNER JOIN
sys.sysindexes AS ind ON tbl.object_id = ind.id
WHERE (ind.indid < 2)


راه دوم:


--بسم الله الرحمن الرحیم
--اللهم صل علی محمد و آل محمد




declare tables cursor for
select name from sys.tables;
open tables;
declare @tblName NVarchar(Max);
declare @sql NvarChar(max);
set @sql=N' create table #tmp (tableName nvarchar(max) ,rowsCount int); ';
fetch tables into @tblName;
while (@@fetch_status=0)
begin
set @sql +=';insert into #tmp select '''+ @tblName + ''',count(*) from ' + @tblname
fetch tables into @tblName;
end
set @sql+= '; select * from #tmp;';
execute(@sql);

close tables;
DeAllocate tables;