PDA

View Full Version : سوال ساده در مورد Sql



mohaddeseh87
دوشنبه 29 تیر 1394, 11:40 صبح
با سلام

احتمالاً سوالم برای متخصصین خیلی ساده و ... است.:افسرده:

ببخشید دیگه تازه دارم با اس کیو ال آشنا میشم هنوز این موارد رو نمیدونم.:افسرده:

سوالم اینه: آیا میتوان مقادیر فیلد کلید اصلی را تغییر داد؟

یه جدول در sql دارم که مقدار فیلد organization Id آن در همه رکوردهاش باید تغییر کنه، از طرفی جداول دیگری هم هستند که به نظر میاید به نوعی بهش مربوط میشن.

سوالم اینه که آیا میتونم مقادیر تغییر بدم؟

در اطلاعات افرادی که با این سازمانها ثبت شدند از دست نمیره؟؟

لطفاً سریع جواب بدید.
ممنون

SabaSabouhi
دوشنبه 29 تیر 1394, 12:07 عصر
با سلام

احتمالاً سوالم برای متخصصین خیلی ساده و ... است.:افسرده:

ببخشید دیگه تازه دارم با اس کیو ال آشنا میشم هنوز این موارد رو نمیدونم.:افسرده:

سوالم اینه: آیا میتوان مقادیر فیلد کلید اصلی را تغییر داد؟

یه جدول در sql دارم که مقدار فیلد organization Id آن در همه رکوردهاش باید تغییر کنه، از طرفی جداول دیگری هم هستند که به نظر میاید به نوعی بهش مربوط میشن.

سوالم اینه که آیا میتونم مقادیر تغییر بدم؟

در اطلاعات افرادی که با این سازمانها ثبت شدند از دست نمیره؟؟

لطفاً سریع جواب بدید.
ممنون

سلام
درستش اینه که تغییر نکنه. مگه این که از کلید اصلی برای کار دیگه‌ای استفاده کرده باشی ( که کار صحیحی نیست )
اما امکانش هست، کافیه در رابطه‌ها Cascade on update رو روشن کرده باشی، خودش بقیه کار رو انجام می‌ده.
اگه این کار رو نکردی، تو Management Studio یه دیاگرام درست کن که جدول اصلی و جدول‌های مرتبط توش باشن.
روی Linkهای مربوطه کلیک کن و تو Properties مربوط به ارتباط انتخاب شده قسمت INSERT And UPDATE رو باز کن
جلوی Update Rule مقدار No Action هست، اون رو باز کن و Cascade رو انتخاب کن.

صبا صبوحی

mohaddeseh87
دوشنبه 29 تیر 1394, 12:40 عصر
سلام
درستش اینه که تغییر نکنه. مگه این که از کلید اصلی برای کار دیگه‌ای استفاده کرده باشی ( که کار صحیحی نیست )
اما امکانش هست، کافیه در رابطه‌ها Cascade on update رو روشن کرده باشی، خودش بقیه کار رو انجام می‌ده.
اگه این کار رو نکردی، تو Management Studio یه دیاگرام درست کن که جدول اصلی و جدول‌های مرتبط توش باشن.
روی Linkهای مربوطه کلیک کن و تو Properties مربوط به ارتباط انتخاب شده قسمت INSERT And UPDATE رو باز کن
جلوی Update Rule مقدار No Action هست، اون رو باز کن و Cascade رو انتخاب کن.

صبا صبوحی

با سپاس از پاسختون

انجامش دادم.

یه سوال دیگه اینکه از کجا میتونم مطمئن بشم که تغییرات لازم رودر مورد همه جداول مرتبط با جدولم انجام دادم.
آخه تعداد جداولم زیاده

SabaSabouhi
دوشنبه 29 تیر 1394, 16:46 عصر
با سپاس از پاسختون

انجامش دادم.

یه سوال دیگه اینکه از کجا میتونم مطمئن بشم که تغییرات لازم رودر مورد همه جداول مرتبط با جدولم انجام دادم.
آخه تعداد جداولم زیاده

سلام
جدول رو برای ویرایش باز کن، در نوار ابزار یک دکمه برای روابط وجود داره. اون رو که بزنی فهرست کلیه‌ی جدول‌هایی
که با جدول اصلی در ارتباط هستن رو مشاهده می‌کنی.

اما توصیه من به شما اینه که تو طراحی دیتابیس تجدید نظر کنی. خیلی اشتباه بزرگی هست که بخوای مقدار کلید اصلی
رو تغییر بدی.
این رو به عنوان یک حکم در نظر داشته باش که «کلید اصلی فقط کلید اصلی هست و نه هیچ چیز دیگه»
در صورت نیاز یک ستون به جدول اضافه کن و اگه خواستی که Unique باشه، این کار رو با اضافه‌کردن یک
اندیس یکتا ( Unique Index ) انجام بده.

صبا صبوحی