PDA

View Full Version : Relation بین 2 جدول از 2 database



turk_programmer
سه شنبه 17 شهریور 1383, 16:46 عصر
سلام .
من 2 جدول دارم که داخل 2 database متفاوت هستن.
میخوام بین این دو جدولم Relation بوجود بیارم بطوریکه وقتی یکی update یا delete Record شد تو اونیکی هم sql server خودکار تغییرات لازم رو بده.
آیا این امکان پذیره و sql server این امکان رو میده ؟

AminSobati
سه شنبه 17 شهریور 1383, 19:31 عصر
دوست عزیزم،
ForeignKey Constraint نمیتونه یک جدول خارج از دیتابیس رو Reference بده. لذا تنها راهی که باقی میمونه اینه که از Trigger استفاده کنید.
در Trigger زمانی که مثلا عمل Delete اتفاق می افته، با ذکر آدرس کامل جدولی که در دیتابیس دیگه قرار داره، این تغییر رو روی اون هم اعمال کنین. مثلا:


DELETE northwind.dbo.customers WHERE customerid=...
یا
INSERT pubs.dbo.authors VALUES(...)


موفق باشید،
امین ثباتی MCSD

turk_programmer
پنج شنبه 02 مهر 1383, 12:00 عصر
لطفا" Trigger و راههای استفاده از اون رو بیشتر توضیح بدین.
ممنون

AminSobati
پنج شنبه 02 مهر 1383, 14:48 عصر
دوست عزیزم،
اگر در محیط های Visual برنامه نویسی کردین، حتما با مفهوم Event آشنایی دارید.
Trigger مثل Eventهای هست که روی جدول فعال میشه. در هنگام سه عمل Insert, Update و Delete.
به عنوان مثال میتونین یک Trigger بنویسید که به عمل Delete واکنش نشون بده و هر وقت دستوری برای حذف رکورد به اون جدول ارسال کردین، Trigger رو اجرا کنه(اتوماتیک وار). در Trigger شما میتونین کنترلهای لازم رو انجام بدین و به عنوان مثال جلوی عمل Delete رو بگیرین یا متعاقبا رکوردهای متناظر در جداول دیگه رو هم Delete کنین. در حال حاضر Trigger دو نوع در SQL Server وجود داره: After و ّInstead Of
برای ساخت اون، دستور CREATE TRIGGER رو در Books Online ببینید.
موفق باشید،
امین ثباتی MCSD