PDA

View Full Version : درج در جدول دیگرباتریگر



rozegar21
دوشنبه 18 مرداد 1389, 19:12 عصر
سلام
من یه فروشگاه دارم می خوام وقتی اطلاعات جدول فاکتورم رو پر میکنم توی یک جدول دیگه کد فاکتو و کد کالام و کد مشتریم با تریگر (یا استورپروسیجر)درج شه از اونجا که اصلا بلد نیستم با تریگر کار کنم کسی میتونه کمکم کنه ؟؟/
با تشکر(عجله دارم)

محمد سلیم آبادی
دوشنبه 18 مرداد 1389, 21:57 عصر
سطرهای درج شده در جدول مجازی به نام inserted قرار می گیرین که از مقادیر آن در تریگر میشه استفاده کرد. کد شما چیزی شبیه به این باید بشه:

crerate trigger after_insert
on your_table_1
after insert as begin
insert into table_2 (kala_nbr, factor_nbr, moshtari)
select kala_nbr, factor_nbr, moshtari
from inserted
end

rozegar21
دوشنبه 18 مرداد 1389, 23:07 عصر
خیلی ممنونم که جوابم رو دادین این کد رو میشه توی برنامه نویسی هم استفاده کرد و یه خواهش دیگه می تونین استورپروسیجر این تریگرو هم بهم بدین

محمد سلیم آبادی
دوشنبه 18 مرداد 1389, 23:27 عصر
منظور و مفهوم سوال اولتون را متوجه نشدم. تا حالا SP ایجاد نکردید؟ اگر بله که باید حد اقل تا یک جاهایی بنویسید و برای رفع اشکال و تکمیل روی کمک ما حساب باز کنید. اگر هم که نه این مقاله (http://www.barnamenevis.org/forum/downloads.php?do=file&id=30)را مطالعه کنید.

rozegar21
دوشنبه 18 مرداد 1389, 23:37 عصر
منظور و مفهوم سوال اولتون را متوجه نشدم. تا حالا SP ایجاد نکردید؟ اگر بله که باید حد اقل تا یک جاهایی بنویسید و برای رفع اشکال و تکمیل روی کمک ما حساب باز کنید. اگر هم که نه این مقاله (http://www.barnamenevis.org/forum/downloads.php?do=file&id=30)را مطالعه کنید.
نه من تا به حال نه sp وtriggerاستفاده نکردم با مفهومشون اشنا هستم ولی چون وقتم خیلی کمه میخوام همون کد بالا رو که نوشتین واسم sp شوهم بنویسین ممنون میشم

محمد سلیم آبادی
سه شنبه 19 مرداد 1389, 00:08 صبح
create proc for_log_t1 (@par1 int, @par2 varchar(50), ...) as
begin insert t1 (col1, col2 , ...) values(@par1, @par2, ...)
insert t2 values (@par1, @par2, ...) end

rozegar21
سه شنبه 19 مرداد 1389, 00:14 صبح
اون وقت اطلاعات توی جدول دوم همزمان با جدول اول وارد جدول دوم میشه یا بعدش

محمد سلیم آبادی
سه شنبه 19 مرداد 1389, 13:02 عصر
اون وقت اطلاعات توی جدول دوم همزمان با جدول اول وارد جدول دوم میشه یا بعدش
خطی اجرا میشن. یعنی ابتدا در جدول اول سپس در جدول دوم، دقیقا به همون ترتیبی که دستورات insert نوشته میشن.

rozegar21
سه شنبه 19 مرداد 1389, 18:52 عصر
ALTER trigger after_insert
on dbo.aghlame_faktor
after insert as begin
insert into faktor(no_faktor)
select no_faktor
from inserted
end


جناب msalim واقعا ازتون ممنونم خیلی کمکم کردین مخصوصا او مقاله ای که دادین من این کد رو نوشتم جواب میده حال سوالم اینه که من توی جدول فاکتورم 2 تا فیلددیگه (ای دی کاربر وتاریخ )هست که باید واردش شه اما این دو تا فیلد توی جدول اقلام فاکتور نیستند که بعداز درج درون اون وارد جدول مجازی شن و من از اونجا بخونمشون و حالا من نمی دونم چکار کنم که اون دو جدول همزمان با این تریگروارد جدول فاکتور شن ممنونم

rozegar21
پنج شنبه 21 مرداد 1389, 01:08 صبح
جناب msalim لطف میکنید کمکم کنید

محمد سلیم آبادی
پنج شنبه 21 مرداد 1389, 01:31 صبح
در تریگر تنها به داده های موجود در جداول مجازی دسترسی خواهیم داشت. چرا که مثل SP چیزی به نام پارامتر برایش معنایی نداره و تعریف نشده.