ورود

View Full Version : سوال: عدم ثبت داده تكراري دردو جدول



Iran58
پنج شنبه 28 مرداد 1389, 13:19 عصر
سلام
دو جدول tb1وtb2 دارم كه ستون شماره كارمندي در هردو جدول قرار دارد حال مي خواهم هرگاه در يكي از اين دو جدول شماره كارمندي ثبت شده بود هنگام ثبت همين شماره كارمندي در جدول ديگر انجام نپذيرد(مثلا شماره كارمندي 100 را در جدول tb1 ثبت كرده ايم حال مي خواهم هر زمان شماره كارمندي 100 را خواستم در tb2 ثبت كنم اين عمل انجام نپذيرد )
لطفا با كد راهنمائي بفرماييد.

محمد سلیم آبادی
پنج شنبه 28 مرداد 1389, 15:37 عصر
سلام،
تصور کنید در جداول 1 و 2 به ترتیب این شماره ها ثبت شده (که با هم نیز تداخلی ندارند)

table_1 = {1, 2, 3, 4}
table_2 = {5, 6, 7, 8}

تا الان هیچ مشکلی وجود نداشته ولی می خواهیم مقدار 4 از جدول را به 5 بروز رسانی کنیم با دستور زیر:

UPDATE table_1
SET column_name = 5
WHERE column_name = 4

حالا بعد از این عمل بروز رسانی داده های هر دو جدول به این شکل در می یایند، در کنار هم گذاشتم که تا مقایسه ی آنها بسیار ساده شود:

table_1 = {1, 2, 3, 5}
table_2 = {5, 6, 7, 8}

همانطوری که مشاهده میشود الان در دو جدول 5 وجود دارد که قانون شما را نقض کرده اند. آیا این مورد برای شما توجیه می شود یا نه. نیاز دارین تا جلوی اینگونه اتفاق ها هم گرفته شود؟

Iran58
جمعه 29 مرداد 1389, 07:27 صبح
سلام
بله مي خواهم جلوی اینگونه اتفاق ها هم گرفته شود؟

محمد سلیم آبادی
شنبه 30 مرداد 1389, 15:05 عصر
باید یک تریگر instead of update,insert بنویسید.
برای پی بردن به syntaxاش می تونید به کتاب آقای کفاش رجوع کنید.