PDA

View Full Version : درخواست آموزش نحوه استفاده delete در پروسیجرها هنگامی که چند جدول به هم مربوطند. و درخواست نمونه کد



dontspeak
دوشنبه 02 خرداد 1390, 15:35 عصر
سلام
من ستا جدول دارم که به وسیله primarykey به هم متصل شدن. فرض کنید اسم جدولها به ترتیب table1,table2,table3 هست. حالا من میخوام یه ردیف از جدول اول table1 حذف کنم. توی حالت عادی نمیشه. تحقیق کردم که ظاهرا باید از پروسیجر استفاده کنم دنبال یه نمونه کد میگردم برای این موضوع هرچی گشتم پیدا نکردم چون هم این موضوع واسم تازه هست هم اینکه مطالب خیلی پراکنده و نا مفهوم بود حالا اگه دوستان نمونه کدی دارن برای استفاده از پروسیجر در مواقعی که چند جدول به هم ربط دارن ممنون میشم نمونه کدو بزارن.
تا جایی که تحقیقم پیش رفت فهمیدم که باید از transaction استفاده کنم و transaction میتونه به ما کمک کنه که اگه یه سری دستور بخوبی پیش نرفت داده هامونو به حالت اول برگردونیم. اما نحوه استفاده و یه نمونه کد از اونو نتونستم پیدا کنم.

یوسف زالی
دوشنبه 02 خرداد 1390, 15:50 عصر
سلام بازم!!


create procedure TblDelete
@SN int
as
begin
begin transaction
delete TBL3
where SerialNoMaster = @SN -- id pedar dar table

if @@ERROR<> 0
rollback

delete TBL2
where SerialNoMaster = @SN -- id pedar dar table

if @@ERROR<> 0
rollback

delete TBL1
where SerialNo = @SN -- id table

if @@ERROR<> 0
rollback

commit
end