PDA

View Full Version : تجمیع کردن اطلاعات چند ویو



taknavaz123
دوشنبه 24 آذر 1393, 15:28 عصر
با سلام.
10 تا دیتابیس رو فرض کنید که در هر کدومشون یک view وجود دارد.این view در هر 10 دیتابیس به یک شکل است.

حالا میخواهم یک دیتابیس جدید درست کنم و در آنجا یک view داشته باشم که تجمیع همه اطلاعات 10 ویو قبلی در آن وارد شود. (تجمیع همه رکوردها.یعنی همه رکوردهای 10 ویو دیگر در این ویو جدید دیده شود.)

آیا چنین کاری امکان دارد؟

m.fazlali
دوشنبه 24 آذر 1393, 16:36 عصر
بافرض اینکه همه دیتابیس ها برروی یک Instance باشد چنین چیزی امکان پذبر است فقط کافی است که در هنگام select از هرکدام از view ها در view جدید نام دیتابس و نیز schema آنرا قبل از نام view بیاوری و آنها را باهم union کنی بطور مثال

Create View UnionAllView
As
select Field1,Field2 from Db1.dbo.View1
union all
select Field1,Field2 from Db2.dbo.View1

Hasibsoft
پنج شنبه 25 دی 1393, 07:55 صبح
اگر دیتابیس ها در در سرور های دیگری باشند باید از linked server استفاده کنی و به ازای هر سرور یک linked server بسازی و پس از آن کوری زیر را اجرا کنی

Create View UnionAllView
As
select Field1,Field2 from linkedserver1.Db1.dbo.View1

union all

select Field1,Field2 from linkedserver2.Db2.dbo.View1
union all

select Field1,Field2 from linkedserver3.Db3.dbo.View1

tiphooo
سه شنبه 30 دی 1393, 01:12 صبح
ساده ترین راه ایجاد یک دیتابیس جدید و استفاده از synonyms میباشد به طوری که View های مورد نیاز از سایر دیتابیس ها را در دیتابیس جدید synonyms کرده و برای تجمیع انها از union استفاده کنید

ایجاد linked server و هر باز کانکت شدن معضلات خاص خود را دارد
برای ایجاد synonyms در دیتابیس به قسمت synonyms در پایین view بروید و New synonyms بزنید... تنظیمات ان کاملا ساده است