PDA

View Full Version : همه جدولها در دستور From



vb_nima
سه شنبه 15 خرداد 1386, 22:38 عصر
با سلام
من در جدولی به نام T لیستی از نام جدولهایم را که در دیتابیس ایجاد شده است نگهداری میکنم در فیلدی به نام Name. یعنی اینکه هر سطر از جدول T بیانگر اسم یک جدول در دیتابیس است.
سوال اینجاست که چطوری از دستور Select استفاده کنم که همه جدول های موجود در جدول T را جستجو کنه. به عبارت دیگه در دستور From از چه عبارتی استفاده کنم که همه جدول های داخل T را شامل شود؟

Kamyar.Kimiyabeigi
چهارشنبه 16 خرداد 1386, 08:44 صبح
دوست عزیز نام تمامی جداول دیتابیس داخل INFORMATION_SCHEMA.TABLES هست و لزومی نداره که شما نیز این اطلاعات رو مجدد نگهداری کنین.
اگر بخواین از تمامی جداول Select ایی داشته باشین به نظر من میتونین از حلقه استفاده کنین. ولی اگر دقیقا" بگین چه کاری میخواین انجام بدین شاید راه حل بهتری هم باشه.
مثال


DECLARE @TABLE_NAME NVARCHAR(400)
DECLARE authors_cursor CURSOR FOR

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
ORDER BY TABLE_NAME

OPEN authors_cursor

FETCH NEXT FROM authors_cursor
INTO @TABLE_NAME

WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'TABLE NAME : ' + @TABLE_NAME
FETCH NEXT FROM authors_cursor
INTO @TABLE_NAME
END
CLOSE authors_cursor
DEALLOCATE authors_cursor

najafzade
چهارشنبه 16 خرداد 1386, 08:47 صبح
مگه خود برنامه ویزاردهای خودکار نداره؟؟؟؟؟؟؟

aidinwashere
چهارشنبه 16 خرداد 1386, 13:26 عصر
چرا در قسمت FROM از یک Stored Procedure ای که تمام جداول غیر سیستمی رو برگردونه, استفاده نمیکنید؟ بجای نوشتن حلقه.

AminSobati
چهارشنبه 16 خرداد 1386, 22:37 عصر
چرا در قسمت FROM از یک Stored Procedure ای که تمام جداول غیر سیستمی رو برگردونه, استفاده نمیکنید؟ بجای نوشتن حلقه.

آیدین جان تا به حال این کار رو انجام دادی شما خودت؟!

aidinwashere
پنج شنبه 17 خرداد 1386, 00:11 صبح
نه, روش فکر میکنم.
ولی راهی که اون لحظه به ذهنم رسید استفاده از SP در FROM clause بود.
روش فک میکنم.

AminSobati
پنج شنبه 17 خرداد 1386, 08:47 صبح
در حقیقت SP اصلا یک Table Expression محسوب نمیشه که بتونه جلوی From یا Join قرار بگیره

soghra
شنبه 19 خرداد 1386, 10:01 صبح
با سلام
من در حال طراحی یه سایت هستم و در قسمت جستجوی سایت با همین مشکل مواجه هستم البته من با asp.net وc# کار می کنم و دیتا بیس سایت هم sqlserver ،می خواستم بیبنم می تونم از این کدی که توش از حلقه استفاده شده در asp.net استفاده کنم ؟ باتشکر

Kamyar.Kimiyabeigi
شنبه 19 خرداد 1386, 12:40 عصر
با سلام
من در حال طراحی یه سایت هستم و در قسمت جستجوی سایت با همین مشکل مواجه هستم البته من با asp.net وc# کار می کنم و دیتا بیس سایت هم sqlserver ،می خواستم بیبنم می تونم از این کدی که توش از حلقه استفاده شده در asp.net استفاده کنم ؟ باتشکر

دوست عزیز کد بالا یک زبان TSQL و فکر نمیکنم مشکلی پیش بیاد.