
خدمت همه دوستان عزيز بايد بگم كه اين آخرين قسمت آموزش Sql server هست و بعد ازاين ديگه ميتونيم آموزش Visual Studio.net رو شروع كنيم.
دستور raiserror در تريگرها
توسط اين دستور يك پيغام خطا توليد ميشود كه در جدول sys_message در بانك اطلاعاتي master (جدول پيغام هاي سيستمي ) ذخيره مي شود.
روش استفاده :
(حالت ،شدت،”متن خطا “)raiserror
متن خطا:يا متن يا شماره پيغامي از پيغام هاي سيستمي كه در جدول پيغام هاي سيستمي ذخيره شده
شدت:عددي بين 1 تا 25 براي پيام هايي كه خودمان پياده مي كنيم مي توانيم يك عدد بين 1 تا 18 بدهيم
حالت: عددي است بين 1 تا 127 كه اطلاعاتي راجع به حالت خطا را نگه مي دارد
تابع()update در تريگر
در ازاي عمليات هاي insert و update يك مقدار بولين برمي گرداند كه اگر true باشد يعني آن ستون تغيير كرده است.
روش استفاده:
… (نام ستون يا فيلد)if update
نكته :اين تابع فقط در بدنه تريگر ها استفاده مي شود.
مثال: تريگري بنويسيد كه اجازه ندهد فيلد نام تغيير كند.
create trigger name_std
on student
after upfate , insert
as
(if update (std_name
begin
(raiserror(“you can not change name”,10,2
rollback
end
مفهوم جداول deleted ,inserted
دستورات DML كه باعث اجراي تريگر مي شودبا 2 جدول موقت inserted و deleted كار مي كند كه اين دو جدول به صورت اتوماتيك ايجاد و مقدار دهي مي شوند ما مي توانيم از اين جداول براي تست كردن عمليات هاي DML قبل از اعمال روي جداول استفاده كنيم.
در جدول deleted يك نسخه از تمام ركورد هاي حذف شده در اثر دستورات delete يا update را نگه مي دارد و جدول inserted يك نسخه از تمام ركورد هاي جديد اضافه شده بر اثر عمليات هاي insert , update را نگه مي دارد دقت كنيد كه عمل update هردو جدول را مقدار دهي مي كند.
ما از طريق نوشتن دستورات join جداول موقت را با جداول اصلي مي توانيم مقاديري را كه قبلا حذف شده بود يا تازه درج شده را ببينم:
مثال:تريگري بنويسيد كه بعد از عمليات درج ركورد هاي درج شده جديد جدول insert را نمايش دهد.
create trigger inset_trigger
on student
for insert
as
select student.std_num ,inserted.std_num
from inserted,student
where student.std_num=inserted.std_num
تابع drop براي حذف تريگر
نام تريگر drop trigger
تابع alter براي تغيير تريگر
نام تريگري كه ميخواهيم تغيير بدهيم alter trigger
نام جدول on
….. for
…..as
يكي از موارد on,forيا as تغيير مي كند.
موفق باشيد
سلام
عالیه … موفق باشید …
^_^
خواهش می کنم .مرسی از نظرات که در مطالب دیگر هم دادید
salam
man ro ba name
دهکده دانلود
link konid mamnon