PDA

View Full Version : نحوه برقراری ریلیشن بین جدول در دو پایگاه داده مختلف



saeedgharedaghi
چهارشنبه 25 تیر 1393, 00:01 صبح
سلام دوستان راهی هست تا بتوان ریلیشنی بین دو تا جدول که هر کدوم در دیتابیس مختلف قرار دارند برقرار کرد ممنون میشم راهنمایی کنین

fakhravari
چهارشنبه 25 تیر 1393, 18:38 عصر
:متفکر:
join که میشه کرد

MH2538
چهارشنبه 25 تیر 1393, 20:10 عصر
فرض کن 2 تا دیتابیس داریم (روی یک Instance) که اسم اولی فرضاً Payment است و یک جدول به نام Salary دارد و این جدول یک فیلد به نام PersonID دارد. دیتا بیس دومی هم فرضاً Attendance است و یک جدول به نام MainIO دارد و این جدول هم یک فیلد به نام PersonID دارد. حالا با کد زیر این دو جدول را با هم Join می کنیم:


Select *
From Payment.Salary s
join Attendance.MainIO m on m.PersonID=s.PersonID

s.karim
چهارشنبه 25 تیر 1393, 20:37 عصر
SELECT
a.col1,
b.col2

FROM
Database1.dbo.TableName a, Database2.dbo.TableName2 b

saeedgharedaghi
چهارشنبه 25 تیر 1393, 23:57 عصر
SELECT
a.col1,
b.col2

FROM
Database1.dbo.TableName a, Database2.dbo.TableName2 b




بحث join نیست بحث وابستگی هستش
مثلا فرض کنید کلید تو جدول اولی در دیتابیس A داره تو دیتابیس B به عنوان کلید خارجی استفاده میشه. اوکی؟
حالا زمانی که میخوام مقداری رو از جدولی که در دیتابیس A هست حذف کنم میخوام موقع حذف خود sql ارور بده
دقیقا منظورم database diagram هست تو sql server که ما در اونجا وابستگی رو میاییم مشخص میکنیم توی اون حالت database diagram همه جداول تو یه پایگاه هستند و مشکلی نیست حالا برای این مسٔله که جدوال تو ۲ پایگاه جداگانه هستند چه راه حلی دارین؟

راهیی که تا اینجا بهش رسیدم کنترل کردن با تریگر ها هست که موقع حذف رکورد از دیتابیس اولی بیام چک بکنم ببینم ازش تو دیتابیس دومی استغاده شده یا نه؟

میخوام بدونم راه حل بهتری هست یا نه؟

s.karim
پنج شنبه 26 تیر 1393, 01:03 صبح
منم توو اينجور مواقع از تريگر استفاده كردم. راه ديگه اي سراغ ندارم.