PDA

View Full Version : استفاده از عبارت If Exsist



khoshblagh
شنبه 05 بهمن 1387, 09:42 صبح
با سلام
کسی میدونه چطور با عبارت If Exsist توی بانک sql2005 وجود یا عدم وجود یک رکورد بر اساس یک فیلد جستجو کرد.برای مثال فرض کنید یک فیلدی به نام CodId که کد پرسنلی افراد درون جدول میباشد. حال اگر بخواهیم اطلاعات کارمند جدیدی را به جدول اضافه نماییم بلافاصله که CodId شخص جدید را وارد کنترل نماییم با توجه به رویداد change جدول مرتبط برای یافتن کد مشابه جستجو و در صورت یافتن برنامه اعلام وجود کد مشابه را صادر مینماید و اگر نباشد اطلاعات جدید ثبت میشود. با تشکر

saied_genius
شنبه 05 بهمن 1387, 16:37 عصر
مثال:


IF EXISTS (SELECT * FROM Table1 WHERE Column1='SomeValue')
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
ELSE
INSERT INTO Table1 VALUES (...)

موفق باشيد.

khoshblagh
یک شنبه 06 بهمن 1387, 07:24 صبح
جناب saied_genius
با سلام و تشکر از پاسختان. احتراما ظاهرا من درست سوالم را مطرح نکردم. در حقیقت عبارتsql مورد نظر من باید بلافاصله بعد از وارد کردن کدپرسنلی فرد مورد نظر جدول را از نظر وجود و یا عدم وجود آن کد پرسنلی مورد چستجو قرار داده و فقط در صورت یافتن مورد مشابه فرضا پیامی را اعلام نماید. یعنی در این مرحله هدف ثبت اطلاعات در جدول نمیباشد.

از نظر شما بهترین دستور برای تعیین وجود و یا عدم وجود یک رکورد در جدول چه دستوری است لطفا در صورت امکان با یک مثال توضیح مختصر دهید.
متشکرم

saied_genius
یک شنبه 06 بهمن 1387, 15:52 عصر
فرقي نمي كند.

شما روي رويداد change كنترل مورد نظر خود اين رويداد sql را صدا بزنيد و در صورتي كه وجود داشت پيغام مورد نظر را بدهد.