السلام عليكم
عندي قاعدة بيانات اسمها maindb
وقاعدة بيانات اسمها subdb
اريد ان اعمل دالة ترجع بيانات على شكل جدول function table
من خلال قاعدة البيانات maindb
مثلا جدول موجود في maindb.dbo.table1
جدول subdb.dbo.table2
اذا عملت العبارة
select a.f1,b.f2 from maindb.dob.table1 as a inner join subdb.dbo.table2 as b on a.x=b.x
المطلوب اذا كانت قاعدة البيانات الثانية متغيرة واسمها موجود في جدول في قاعدة البيانات الاولى كيف يمكن ان استعلم بعد قراءة اسم قاعدة البيانات من maindb لكي استرجع المعلومات مثلا
declare @db2name as nvarchar2(255) set @db2name=(select namedb from maindb.tabledb) select a.f1,b.f2 from maindb.dob.table1 as a inner join [@db2name].dbo.table2 as b on a.x=b.x
كيف يمكن تنفيذ مثلا الاستعلام السابق بقاعدة بيانات متغيرة مع جزيل الشكر
مع الملاحظة انه في الاجراء يمكن تنفيذ العبارة التالية
declare @str as nvarchar2(400) set @str='select a.f1,b.f2 from maindb.dob.table1 as a inner join [' + dbname2+'].dbo.table2 as b on a.x=b.x' execte @str