PDA

View Full Version : سوال: نحوه اضافه به یک جدول و کاهش از جدول دیگر



mohsen.nsb44
چهارشنبه 26 آذر 1393, 11:10 صبح
سلام من چند تا انبار دارم
یکی مرکزی بقیه جز هستن
قراره از مرکزی به انبار های دیگه جنس انتقال داده بشه یا عودت داده بشه
حالا زمانی که دارم فرضا جنس انتقال میدم بعد انتقال از مرکزی کم کنم
مشکل اینجاست اگه به هر دلیلی جنس انتقال داده شد اما موقع کسر از مرکزی خطا داده شد تکلیف چیه
اینطوری جنس از انبار مرکزی کم نمیشه
ایا راهی وجود داره که اگه هر دو عمل انجام نشد هیچ اتفاقی نیوفته؟
اگه راهی هم پیشنهاد میدین بفرمایین

iceweek
چهارشنبه 26 آذر 1393, 12:03 عصر
توی پروسیجرت از ترکیب
TRANSACTION و TRY CATCH استفاده کن

mohsen.nsb44
چهارشنبه 26 آذر 1393, 12:14 عصر
توی پروسیجرت از ترکیب
TRANSACTION و TRY CATCH استفاده کن
من تا حالا تو استورپریسیجر از این ذو که گفتین استفاده نکردم میشه یه نمونه کد بزارین؟

mohsen.nsb44
چهارشنبه 26 آذر 1393, 12:22 عصر
ایا استفاده دو دستور درج و ویرایش در استورپروسیجر مشکل ایجاد میکنه؟
مثل زیر


CREATE PROCEDURE Sp
(
@Name nvarchar(150),
@c int
)
AS
insert into Tbl(Name)values(@Name)

update Tbl2 set C=@c

sadegh.te
چهارشنبه 26 آذر 1393, 12:26 عصر
سلام میتونید از تراکنش استفاده کنید که اگه وجود داشت بقیه عملیات انجام بشه در غیر این صورت هیچ عملی انجام نشه.

iceweek
چهارشنبه 26 آذر 1393, 12:57 عصر
ایا استفاده دو دستور درج و ویرایش در استورپروسیجر مشکل ایجاد میکنه؟
مثل زیر


CREATE PROCEDURE Sp
(
@Name nvarchar(150),
@c int
)
AS
insert into Tbl(Name)values(@Name)

update Tbl2 set C=@c



خیر.هرچندتا اینسرت و اپدیت میخوای بزن.
BEGIN TRY
BEGIN TRANSACTION
انجام دستورات

COMMIT
END TRY
BEGIN CATCH

ROLLBACK
END CATCH