مقداد شکیبا

  • ۱
  • ۰

دستور Update

با این دستور می توان رکوردهائی که از قبل وجود داشته اند را ویرایش نمود.

مثال 1 :

UPDATE       Student            SET    BirthYear = 1360

در صورت اجرای دستور بالا سال تولد تمامی دانشجویان برابر 1360 می شود !

معمولا قصد داریم فقط رکورد(های) خاصی را ویرایش کنیم، بنابراین باید به نحوی رکوردهائی که این دستور بر انها اثر می گذارد را محدود نمائیم.

مثال 2 :

UPDATE       Student         SET    BirthYear = 1360

WHERE        NC = '2032222222'

با استفاده از WHERE می توان برای رکوردهایی که تحت تاثیر یک دستور قرار می گیرند، شرط(شرایط)ی تعیین کرد.

دستور بالا موجب می شود سال تولد دانش آموزی که کد ملی آن 2032222222 است به مقدار 1360 اصلاح شود.

ممکن است هنگام مشاهده یک دستور این سئوال پیش بیاید که اگر این دستور اجرا شود چه تعداد رکورد تحت تاثیر قرار می گیرند؟ در پاسخ باید گفت جواب علاوه بر دستور به داده ها نیز بستگی دارد. حالت های مختلفی ممکن است پیش بیاید:

  1. دستور دارای اشکال باشد و اجرا نشود و بنابراین هیچ رکوردی تغییر نکند.

  2. هیچ رکوردی منطبق با شرط (شرایط) دستور وجود نداشته باشد و بنابراین هیچ رکوردی تغییر نکند.

  3. فقط یک رکورد، دو رکورد، ...... و یا حتی همه رکوردهای جدول منطبق با شرایط دستور باشند و تغییر کنند.

آیا حالت دیگری ممکن است پیش بیاید؟

با استفاده از دستور update عملیات جالب و کاربردی فراوانی می توان اجرا کرد که انجام آنها با زبانهای متداول غیر SQL دشوارتر و وقت گیر است. به مثال های زیر توجه کنید:

مثال 3 : حقوق کارمندان را هزار ریال افزایش دهید

UPDATE       Personnel      SET    Salary = Salary + 1000

Salary در سمت چپ تساوی یعنی حقوق جدید و Salary  در سمت راست تساوی یعنی حقوق قبلی.         

مثال 4 : حقوق کارمندان را دو برابر کنید

UPDATE       Personnel      SET    Salary = 2 * Salary

مثال 5 : حقوق کارمندان را پنج درصد افزایش دهید

UPDATE       Personnel      SET    Salary = 1.05 * Salary

 

مثال 6 : حقوق کارمندان مرد را دو برابر کنید

UPDATE       Personnel      SET    Salary = Salary * 2    WHERE     Gender = 'Mard'

با یک دستور update می توان یکباره مقادیر چند فیلد را بروزرسانی کرد کافیست فیلدها را با ویرگول از هم جدا کنید:

مثال 7 : حقوق همه کارمندان را دوبرابر و به ابتدای شماره تلفن آنها 021 اضافه کنید:

UPDATE       Personnel      SET    Salary = 2 * Salary  , Tel = '021' + Tel

آیا می توانید دستوری بنویسید تا به انتهای شماره تلفن 021 را اضافه کند؟

فرض کنید سه صفر از واحد پول ملی حذف شود. آیا می توانید دستوری بنویسید که حقوق کارمندان را اصلاح کند؟


  • ۹۰/۰۵/۰۲
  • مقداد شکیبا

SQL

UPDATE

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی