ورود

View Full Version : آپدیت همزمان دو فیلد از دو جدول



Beginner67
یک شنبه 02 آبان 1395, 10:21 صبح
با سلام.
ممنون میشم منو راهنمایی کنید.

به طور همزمان میخوام دو فیلد از دو جدول رو آپدیت کنم.
جدول اول table1 با کلید cmid
جدول دوم table2 با کلید فرعی cmid و با کلید اصلی pmid

ممنونم.

Davidd
یک شنبه 02 آبان 1395, 11:16 صبح
سلام. سوال شما گنگه. بیشتر توضیح بدید. منظور از همزمان چیه؟ کدوم فیلد؟

Beginner67
یک شنبه 02 آبان 1395, 12:29 عصر
فیلد های table1
cmid کلید
cmtitle

فیلدهای table2
pmid کلید
pmtick
cmid کلید فرعی

من صفحه ای دارم که اطلاعات جدول table1 رو (cmtitle)میتونم ویرایش کنم.
اگر بخوام همون موقعی که cmtitle ویرایش میشه، pmtick هم ویرایش بشه،باید چیکار کنم؟

fahimi
یک شنبه 02 آبان 1395, 18:07 عصر
سلام


UPDATE table1
SET table1.name = table2.name
FROM table1, table2
WHERE table1.id = table2.id

Beginner67
یک شنبه 02 آبان 1395, 21:25 عصر
ممنون ولی خط دوم رو متوجه نمیشم!
در جدول اول فیلد یکسانی با جدول دوم ندارم بجز کلید اصلی که در جدول دوم فیلد فرعی میشه.

#Elahe#
دوشنبه 03 آبان 1395, 01:47 صبح
خب محتوای فیلدها چیه ؟
cmtitle و pmtick

وقتیcmtitle ویرایش میشه میخواید pmtick رو با چه داده ای آپدیت کنید ؟

Davidd
دوشنبه 03 آبان 1395, 08:58 صبح
فیلد های table1
cmid کلید
cmtitle

فیلدهای table2
pmid کلید
pmtick
cmid کلید فرعی

من صفحه ای دارم که اطلاعات جدول table1 رو (cmtitle)میتونم ویرایش کنم.
اگر بخوام همون موقعی که cmtitle ویرایش میشه، pmtick هم ویرایش بشه،باید چیکار کنم؟

خب دو تا دستور Update برای هر جدول بنویسید و اجرا کنید! مشکل کجاست؟ اگه منظور شما چیزی مثل Transaction هست تا راهنمایی کنیم.

Beginner67
دوشنبه 03 آبان 1395, 15:45 عصر
درست میگید دو تا دستور update بنویسم مشکلی پیش نمیاد.


Transaction برای مواقعی هست که میخواییم عملیاتی روی کلید اصلی انجام بشه؟
مثل حذف یک رکورد از جدولی و حذف رکورد وابسته از جدولی دیگه؟

Davidd
دوشنبه 03 آبان 1395, 16:12 عصر
درست میگید دو تا دستور update بنویسم مشکلی پیش نمیاد.


Transaction برای مواقعی هست که میخواییم عملیاتی روی کلید اصلی انجام بشه؟
مثل حذف یک رکورد از جدولی و حذف رکورد وابسته از جدولی دیگه؟



Transaction ارتباطی به کلید اصلی نداره. Transaction برای مواقعیه که می خواهیم چندتا کار یا همه انجام بشه یا هیچ کدام انجام نشه. یعنی اگه یکی از کوئری ها به هر دلیلی اجرا نشد بقیه همه Rollback بشن.